STM32------>第三天,spi补充,uart-dma,NB-loT介绍,At指令,串口透传
生活随笔
收集整理的這篇文章主要介紹了
STM32------>第三天,spi补充,uart-dma,NB-loT介绍,At指令,串口透传
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
spi 補充
uart通訊: 通訊雙方波特率,幀格式必須一致
spi通訊: ?通訊雙方極性,相位一致
Lcd
/************************************************* 函數名:Lcd_Clear 功能:全屏清屏函數 入參函數:填充顏色COLOR 返回值:無 *************************************************/ void Lcd_Clear(uint16_t Color) { unsigned int i,m;Lcd_SetRegion(0,0,X_MAX_PIXEL-1,Y_MAX_PIXEL-1);// 設置顯示區域(整個屏幕)Lcd_WriteIndex(0x2C);//發送命令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 的空閑中斷標志HAL_UART_Receive_DMA(&huart1,uartdmabuff,80); //dma 方式接收最多80個字節,接收到uartdmabuffif(uartdmafinished) //判斷dma是否結束{for(i = 0; i < dmalength; i++) //打印dma 接收的數據{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 結束了{__HAL_UART_CLEAR_FLAG(&huart1,UART_CLEAR_IDLEF); // 清除uart1 的空閑中斷標志HAL_UART_DMAStop(&huart1);//停止dma接收uartdmafinished = 1;//置dma 結束的標志dmalength = 80-hdma_usart1_rx.Instance->CNDTR;//得到此次dma接收的字節數//該寄存器hdma_usart1_rx.Instance->CNDTR 初始值80, 收到n個字節, 該寄存器為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??窄帶物聯網
?
At指令
模塊與計算機之間的通信協議是一些AT指令集
AT+CFUN=0關閉射頻功能
AT+CFUN=1開啟射頻功能
AT+NBAND?查詢模組配置頻段
AT+NBAND=5配置模組為電信頻段
AT+CGSN=1 查詢IMEI號
AT+CGSN=1,201612091450303 設置IMEI號
AT+NCDP=XX.XX.XX.XX 設置 IoT 平臺 IP 地址(非 COAP 協議可以不配置)
串口透傳,格西烽火(使用At指令)
PC 和 stm32 的uart1 通訊
nb 模塊和 stm32 的uart2 通訊
stm32 把uart1 收到的數據, 從uart2 發出,
stm32 把uart2 收到的數據, 從 uart1 發出,實現透傳
stm32 實現透傳:
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;}總結
以上是生活随笔為你收集整理的STM32------>第三天,spi补充,uart-dma,NB-loT介绍,At指令,串口透传的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: caffe.net matlab,【ca
- 下一篇: 根据userAgent获取浏览器/操作系