屋脊雀开发板自带了外扩串口调试接口,可以用于连接像安信可8266那种串口的模块,连接方式如下:
有了8266,我们就可以用来实现很多有趣的小DEMO,比如让手机通过网页服务器来给板子下各种命令,如打开关闭LED灯,在网页端的调试窗口输入调试内容到板子上,让板子显示出来,后续还会有更多创意小功能。 首先我们要在8266上面搭建一个有LED灯控制功能和调试内容功能的网页服务器:
输入框的内容是任意的,包括汉字,字符等都完全支持,不在HTML前端上做任何限制,而LED灯开关则是一个radiobutton即单选框。 串口接收处理函数如下: void UART_DMA_Get() { int i; if(rx_flag_uart1==1) { printf("rx_len=%d\n\n",rx_len_uart1); printf("%s\n\n",rx_buf_uart1); if(rx_buf_uart1[0]==0x01) { if(rx_buf_uart1[1]==1) { HAL_GPIO_WritePin(GPIOG,GPIO_PIN_0,0); HAL_GPIO_WritePin(GPIOG,GPIO_PIN_1,0); HAL_GPIO_WritePin(GPIOG,GPIO_PIN_2,0); HAL_GPIO_WritePin(GPIOG,GPIO_PIN_3,0); } else if(rx_buf_uart1[1]==2) { HAL_GPIO_WritePin(GPIOG,GPIO_PIN_0,1); HAL_GPIO_WritePin(GPIOG,GPIO_PIN_1,1); HAL_GPIO_WritePin(GPIOG,GPIO_PIN_2,1); HAL_GPIO_WritePin(GPIOG,GPIO_PIN_3,1); } for(i=0;i<rx_buf_uart1[2];i++) text1_buffer=rx_buf_uart1[i+3]; text1_buffer='\0'; strcpy(temp1[rx_idle_lines],text1_buffer); if(rx_idle_lines>=7) for(i=0;i<rx_idle_lines;i++) { SPILCD_DrawString(0,i*32," ",0,CYAN,ZF32_NORMAL); SPILCD_DrawString(0,i*32,temp1,0,CYAN,ZF32_NORMAL); strcpy(temp1,temp1[i+1]); } SPILCD_DrawString(0,rx_idle_index," ",0,CYAN,ZF32_NORMAL); SPILCD_DrawString(0,rx_idle_index,text1_buffer,0,CYAN,ZF32_NORMAL); rx_idle_index+=32; rx_idle_lines++; if(rx_idle_index>224)rx_idle_index=224; if(rx_idle_lines>7)rx_idle_lines=7; memset(text1_buffer,0,30); rx_len_uart1=0; rx_flag_uart1=0; } } if(rx_flag_uart3==1) { printf("rx_len=%d\n\n",rx_len_uart3); for(i=0;i<rx_len_uart3;i++) { if(rx_buf_uart3=='\r'||rx_buf_uart3=='\n') rx_buf_uart3=0; } printf("%s\n\n",rx_buf_uart3); rx_len_uart3=0; rx_flag_uart3=0; } HAL_UART_Receive_DMA(&huart1,(uint8_t*)rx_buf_uart1,BUFFERSIZE); HAL_UART_Receive_DMA(&huart3,(uint8_t*)rx_buf_uart3,BUFFERSIZE); } void USART1_IRQHandler() { int temp; if(__HAL_UART_GET_FLAG(&huart1,UART_FLAG_IDLE)) { __HAL_UART_CLEAR_IDLEFLAG(&huart1); HAL_UART_DMAStop(&huart1); temp = __HAL_DMA_GET_COUNTER(&hdma_usart1_rx); rx_len_uart1=BUFFERSIZE-temp; rx_flag_uart1=1; } } 看看效果:
上传工程文件:
STM32F407ZGT6.zip
(551.65 KB, 下载次数: 1)
|
| 谢谢分享 |
|
谢谢分享 |
謝謝分享 |
| 有代码编辑功能的,这样排版太难看了 |
微信公众号
手机版