91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 115KB
    文件類型: .zip
    金幣: 2
    下載: 0 次
    發布日期: 2021-05-26
  • 語言: 其他
  • 標簽: STM32SIM800??

資源簡介

基于STM32的SIM800開發程序,實現了中文短信的收發。包含了GBK和UNI轉換,可以直接在KEIL當中編寫中文短信,程序轉化中文字符格式發送出去

資源截圖

代碼片段和文件信息

/********************?(C)?COPYRIGHT?2017?**************************
?*?文件名??:sim800.c
?*?描述????:sim800驅動??
?*?硬件連接:-----------------------------
?*??????????|???PB10?????????:UART3_TX????|
?*??????????|???PB11?????????:UART3_RX????|?
?*??????????|???PB12?????????:GSM_ON??????|?
?*???????????-----------------------------?
?*?庫版本??:ST3.5.0
**********************************************************************************/

#include?“sim800.h“

uint8_t??sim800_rx_buf[SIM800_REC_LEN];
uint16_t?sim800_rx_sta=0;

char?numSMS[3];????????????????????????????????????????????//記錄接收到的短信序號
u16?buf[256];
char?bgk_buf[256];

//把unicode按2字節分割為16進制的數據
u16?*unitohex(char?*uni)
{
u8?i?=?0;
??u16?uni_buf[256];
??for(i=0;?i {
??sscanf(uni+i*4?“%4X“?(unsigned?int?*)uni_buf);
buf[i]?=?*uni_buf;
//printf(“\r\n0x%04X?“buf2[i]);
}
??return?buf;
}

/*
?*?函數名:itoa
?*?描述??:將整形數據轉換成字符串
?*?輸入??:radix??-----10?表示10進制,其他結果為0
?*?????????value??-----?要轉換的整形數
?*?????????string?-----?轉換后的字符串
?
?*?輸出??:無
?*?返回??:無
?*/
static?char?*itoa(?int?value?char?*string?int?radix?)
{
????int?????i?d;
????int?????flag?=?0;
????char????*ptr?=?string;

????/*?This?implementation?only?works?for?decimal?numbers.?*/
????if?(radix?!=?10)
????{
????????*ptr?=?0;
????????return?string;
????}

????if?(!value)
????{
????????*ptr++?=?0x30;
????????*ptr?=?0;
????????return?string;
????}

????/*?if?this?is?a?negative?value?insert?the?minus?sign.?*/
????if?(value?????{
????????*ptr++?=?‘-‘;

????????/*?Make?the?value?positive.?*/
????????value?*=?-1;
????}

????for?(i?=?10000;?i?>?0;?i?/=?10)
????{
????????d?=?value?/?i;

????????if?(d?||?flag)
????????{
????????????*ptr++?=?(char)(d?+?0x30);
????????????value?-=?(d?*?i);
????????????flag?=?1;
????????}
????}

????/*?Null?terminate?the?string.?*/
????*ptr?=?0;

????return?string;

}?/*?NCL_Itoa?*/

/*
?*?函數名:Sim800_printf
?*?描述??:格式化輸出
?*?輸入??:-Data???要發送到串口的內容的指針
?* ???-...????其他參數
?* ?????
?*?輸出??:無
?*?返回??:無?
?*/
void?Sim800_printf(?char?*Data?...?)
{
const?char?*s;
??int?d;???
??char?buf[16];

??va_list?ap;
??va_start(ap?Data);

while?(?*Data?!=?0)?????//?判斷是否到達字符串結束符
{ ??????????????????????????
if?(?*Data?==?0x5c?)??//‘\‘
{ ??
switch?(?*++Data?)
{
case?‘r‘: ??????????//回車符
USART_SendData(USART3?0x0d);
Data?++;
break;

case?‘n‘: ??????????//換行符
USART_SendData(USART3?0x0a);
Data?++;
break;

default:
Data?++;
????break;
} ?
}
else?if?(?*Data?==?‘%‘)
{ ??//
switch?(?*++Data?)
{
case?‘s‘: ??//字符串
s?=?va_arg(ap?const?char?*);
??????????for?(?;?*s;?s++)?
{
USART_SendData(USART3*s);
while(?USART_GetFlagStatus(USART3?USART_FLAG_TXE)?==?RESET?);
??????????}
Data++;
??????????break;

????????case?‘d‘:

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2018-04-20?09:32??SIM800C\
?????文件???????14632??2018-04-20?09:32??SIM800C\sim800.c
?????文件????????1221??2018-04-20?09:33??SIM800C\sim800.h
?????目錄???????????0??2018-04-20?09:32??Uni\
?????文件??????477160??2018-04-20?09:34??Uni\uni.c
?????文件?????????740??2018-04-20?09:34??Uni\uni.h

評論

共有 條評論

相關資源