STM32------>第三天,spi补充,uart-dma,NB-loT介绍,At指令,串口透传
生活随笔
收集整理的這篇文章主要介紹了
STM32------>第三天,spi补充,uart-dma,NB-loT介绍,At指令,串口透传
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
spi 補(bǔ)充
uart通訊: 通訊雙方波特率,幀格式必須一致
spi通訊: ?通訊雙方極性,相位一致
Lcd
/************************************************* 函數(shù)名:Lcd_Clear 功能:全屏清屏函數(shù) 入?yún)⒑瘮?shù):填充顏色COLOR 返回值:無 *************************************************/ void Lcd_Clear(uint16_t Color) { unsigned int i,m;Lcd_SetRegion(0,0,X_MAX_PIXEL-1,Y_MAX_PIXEL-1);// 設(shè)置顯示區(qū)域(整個屏幕)Lcd_WriteIndex(0x2C);//發(fā)送命令for(i=0;i<X_MAX_PIXEL;i++)for(m=0;m<Y_MAX_PIXEL;m++){ LCD_WriteData_16Bit(Color);} }uart-dma
/****main.c***/__HAL_UART_ENABLE_IT(&huart1,UART_IT_IDLE); //使能uart1 的空閑中斷__HAL_UART_CLEAR_FLAG(&huart1,UART_CLEAR_IDLEF); // 清除uart1 的空閑中斷標(biāo)志HAL_UART_Receive_DMA(&huart1,uartdmabuff,80); //dma 方式接收最多80個字節(jié),接收到uartdmabuffif(uartdmafinished) //判斷dma是否結(jié)束{for(i = 0; i < dmalength; i++) //打印dma 接收的數(shù)據(jù){printf("%c",uartdmabuff[i]);}uartdmafinished = 0;//HAL_UART_Receive_DMA(&huart1,uartdmabuff,80); // 啟動下次dma 接收}/***stm32f0xx_it.c***/ void USART1_IRQHandler(void) {/* USER CODE BEGIN USART1_IRQn 0 */if(__HAL_UART_GET_FLAG(&huart1,UART_FLAG_IDLE) == SET)//uart1 是否空閑, 說明dma 結(jié)束了{(lán)__HAL_UART_CLEAR_FLAG(&huart1,UART_CLEAR_IDLEF); // 清除uart1 的空閑中斷標(biāo)志HAL_UART_DMAStop(&huart1);//停止dma接收uartdmafinished = 1;//置dma 結(jié)束的標(biāo)志dmalength = 80-hdma_usart1_rx.Instance->CNDTR;//得到此次dma接收的字節(jié)數(shù)//該寄存器hdma_usart1_rx.Instance->CNDTR 初始值80, 收到n個字節(jié), 該寄存器為80-n,printf("finished\r\n");}/* USER CODE END USART1_IRQn 0 */HAL_UART_IRQHandler(&huart1);/* USER CODE BEGIN USART1_IRQn 1 *//* USER CODE END USART1_IRQn 1 */ }NB-IoT 介紹
Narrow Band Internet of Things??窄帶物聯(lián)網(wǎng)
?
At指令
模塊與計算機(jī)之間的通信協(xié)議是一些AT指令集
AT+CFUN=0關(guān)閉射頻功能
AT+CFUN=1開啟射頻功能
AT+NBAND?查詢模組配置頻段
AT+NBAND=5配置模組為電信頻段
AT+CGSN=1 查詢IMEI號
AT+CGSN=1,201612091450303 設(shè)置IMEI號
AT+NCDP=XX.XX.XX.XX 設(shè)置 IoT 平臺 IP 地址(非 COAP 協(xié)議可以不配置)
串口透傳,格西烽火(使用At指令)
PC 和 stm32 的uart1 通訊
nb 模塊和 stm32 的uart2 通訊
stm32 把uart1 收到的數(shù)據(jù), 從uart2 發(fā)出,
stm32 把uart2 收到的數(shù)據(jù), 從 uart1 發(fā)出,實現(xiàn)透傳
stm32 實現(xiàn)透傳:
void USART2_IRQHandler(void){/* USER CODE BEGIN USART2_IRQn 0 */if(__HAL_UART_GET_FLAG(&huart2,UART_FLAG_RXNE) == SET){while((USART1->ISR&0x40) == 0) ;USART1->TDR = USART2->RDR;}總結(jié)
以上是生活随笔為你收集整理的STM32------>第三天,spi补充,uart-dma,NB-loT介绍,At指令,串口透传的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: caffe.net matlab,【ca
- 下一篇: 软件单元黑盒测试,软件测试教学资源单元3