資源簡介
該代碼為BC26連接物聯(lián)網(wǎng)平臺代碼,包含電信IOT平臺連接和移動onenet平臺連接,電信iot平臺部分僅實現(xiàn)連接平臺和發(fā)送數(shù)據(jù),至于平臺注冊、配置和profile創(chuàng)建這里不作介紹。至于移動onenet部分代碼比較多,包含bc26上電自檢、網(wǎng)絡(luò)注冊及套件資源創(chuàng)建、數(shù)據(jù)上傳等,PSM模式應(yīng)用。代碼僅供學習參考。

代碼片段和文件信息
#include?
#include????//sprintf函數(shù)使用的庫函數(shù)
#include?
#include?“string.h“
#include?“FL100G.h“
#include?“Keyboard.h“
#include?“Utc1212.h“
#include?“flash.h“
#include?“timer.h“
#include?“Display.h“
UART_BUF?buf_uart0;?????//NBIOT
char?*strx=NULL*extstrx=NULL;
unsigned?char??err;????//全局變量
char??IMEI[15]={0X000X000X000X000X000X000X000X000X000X000X000X000X000X000X00};
//=========================移動IOT========================================
char??MsgID0[8]={0X000X000X000X000X000X000X000X00};
char??MsgID1[8]={0X000X000X000X000X000X000X000X00};
//==========================電信IOT==================================
#define?SERVERIP?“180.101.147.115“
#define?SERVERPORT?5683
#define?BC26_UART_IO
//===============================================================================================
//strstr(str1str2)函數(shù)使用時注意事項
//定義:strstr(str1str2)?函數(shù)用于判斷字符串str2是否是str1的子串。如果是,則該函數(shù)返回str2在str1中首次出現(xiàn)的地址;否則,返回NULL。
//????因而,在使用或者處理strstr(str1str2)返回值之前,切記不要對str1字符串進行更改,若要更改,應(yīng)該等使用完返回值后再更改
//????\r??\n??回車+換行?Windows系統(tǒng)里面,每行結(jié)尾是“<回車><換行>”,即“?\r\n”,即把光標移到下一行的行首?
//拷貝函數(shù):strcpy函數(shù)
//????????char*strcpy(char?*dest?const?char?*src);??【參數(shù)】dest?為目標字符串指針,src為源字符串指針。
//????????memcpy函數(shù)
//?????????void?*memcpy?(?void?*?dest?const?void?*?src?size_t?num?);??memcpy()?會復(fù)制?src?所指的內(nèi)存內(nèi)容的前?num?個字節(jié)到?dest所指的內(nèi)存地址上
//?????????memcpy()并不關(guān)心被復(fù)制的數(shù)據(jù)類型,只是逐字節(jié)地進行復(fù)制,這給函數(shù)的使用帶來了很大的靈活性,可以面向任何數(shù)據(jù)類型進行復(fù)制。
//拼接函數(shù)?strcat函數(shù)
//?????????char?*strcat(char?*dest?const?char?*src);?【參數(shù)】:?dest?為目標字符串指針,src?為源字符串指針。
//?????????strcat()?會將參數(shù)?src?字符串復(fù)制到參數(shù)?dest?所指的字符串尾部;dest?最后的結(jié)束字符?NULL?會被覆蓋掉,并在連接后的字符串的尾部再增加一個?NULL。
//格式化輸出:%d?十進制整形;%ld?十進制長整形;%5.3d?有這個嗎?;%s?字符串;%c?字符型;%f?浮點型
//?\n?換行符(LF)
//?\r???回車(CR)?,相當于鍵盤上的“Enter“
//?\t???跳到下一個TAB位置\0?????空字符(NULL)
//?\‘???單引號(撇號)
//?\“???雙引號
//?\\???代表一個反斜線字符‘‘\‘?等,詳細可百度“轉(zhuǎn)義字符”
//===============================================================================================
//BC26支持115200以下波特率自適應(yīng)
void?BC26_IO_Init(void)
{
//--------------?串口初始化?---------------
??????P3SEL?|=?NB_RXD?+?NB_TXD;???????????????//P3.4?TXD??P3.5?RXD
??P3DIR?|= NB_PSM_EINT+NB_RESET+NB_PWRKEY; //輸出,NB_PSM_EINT?外部中斷引腳輸入,用于喚醒BC模組,拉低電平喚醒
//NB_PWRKEY??模塊處于關(guān)機狀態(tài)時,通過NB_PWRKEY拉低500ms以上,可開機
//NB_RESET???復(fù)位引腳?通過拉低該引腳500ms以上,可使其復(fù)位
??P3OUT?&=?~(NB_PSM_EINT+NB_RESET+NB_PWRKEY); //
????
??????UCA0CTL1?|=?UCSWRST;????????????????????//Software?reset
??????UCA0CTL0?=??0x00;???????????????????????//?UART-Mode,8數(shù)據(jù)位,1停止位,無校驗位,LSB先發(fā)送?????????????????????????????????????????????
??????UCA0CTL1?|=?UCSSEL_2;???????????????????//?SMCLK
??
??????UCA0BR0?=?13; //?12MHz?57600???這里設(shè)置為57600
??????UCA0BR1?=?0; //?12MHz?57600???(UCAxBR0?+?UCAxBR1?×?256)
??????UCA0MCTL?=?UCOS16; //?Modulation?UCBRSx=0??UCBRFx=0 UCOS16=1
??????UCA0CTL1?&=?~UCSWRST; //?**Initialize?USCI?state?machine**
}
////////////////////////////////////////////////////////////////////////////
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2019-12-11?17:49??BC26-Drivers-20191211\
?????文件???????29912??2019-12-11?12:16??BC26-Drivers-20191211\Utc1212.c
?????文件????????2432??2019-12-11?11:58??BC26-Drivers-20191211\Utc1212.h
評論
共有 條評論