你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【屋脊雀F407开发板】接上8266模块进行开发调试

[复制链接]
donatello1996 发布时间:2019-1-7 23:53
    屋脊雀开发板自带了外扩串口调试接口,可以用于连接像安信可8266那种串口的模块,连接方式如下:
16.jpg
    有了8266,我们就可以用来实现很多有趣的小DEMO,比如让手机通过网页服务器来给板子下各种命令,如打开关闭LED灯,在网页端的调试窗口输入调试内容到板子上,让板子显示出来,后续还会有更多创意小功能。
    首先我们要在8266上面搭建一个有LED灯控制功能和调试内容功能的网页服务器: Screenshot_20190107-232249.jpg
    输入框的内容是任意的,包括汉字,字符等都完全支持,不在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;
               
        }
}


看看效果:
2.gif 3.gif
上传工程文件:
STM32F407ZGT6.zip (551.65 KB, 下载次数: 1)
收藏 评论4 发布时间:2019-1-7 23:53

举报

4个回答
strang 回答时间:2019-1-8 08:21:52
谢谢分享
STMCU 回答时间:2019-1-8 09:28:06
谢谢分享
jeffhe1 回答时间:2019-1-8 09:36:48
謝謝分享
Inc_brza 回答时间:2019-1-8 14:08:33
有代码编辑功能的,这样排版太难看了

所属标签

STM32团队

意法半导体微控制器和微处理器拥有广泛的产品线,包含低成本的8位单片机和基于ARM® Cortex®-M0、M0+、M3、M4、M33、M7及A7内核并具备丰富外设选择的32位微控制器及微处理器


最新内容

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版