微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > + BLE+WIFI通讯

+ BLE+WIFI通讯

时间:10-02 整理:3721RD 点击:
自从上次搭建好硬件后一直在写STM32F4的固件代码,目前实现了蓝牙和WIFI的通讯功能,蓝牙和手机连接,WIFI将连接一台远程的计算机,整个实现过程如下。首先需要建立固件框架,实现外设驱动。我使用了ST公司提供的图形化代码生成工具STM32CubeMX,打开STM32CubeMX后的界面如图1所示。



图1 STM32CubeMX


点击New Project可以建立新的工程,然后按照图2所示的步骤依次选择红框中的项目就可以建立NUCLEO-F412ZG开发板的资源界面,如图3所示。



图2 选择NUCLEO-F412ZG开发板




图3 NUCLEO-F412ZG开发板所有资源


按照功能要求,我需要一个外部按键,两路UART,三个LED指示灯。其中两路UART分别用来与蓝牙模块和WIFI模块通讯。以上的外设需求都可以在Pinout选项卡中选择,结果如图4所示,绿色的即代表会使用到。




图4 引脚设置


在Clock Configuration选项卡中可以设置所有时钟,一般都是自动设置的。在Configuration选项卡中可以设置所有资源的具体参数,比如UART的波特率、中断等等。当所有资源的设置完成后,点击Generate Code就可以生成代码,我选择的是keil v5,由于我想使用操作系统,所有选择了freertos,最后的界面如图5所示。




图5 所有使用的资源


有了软件自动生成的驱动后,我只用实现应用程序即可。时间比较紧张,现在实现了当手机蓝牙连接NUCLEO-F412ZG开发板后,NUCLEO-F412ZG开发板会每1秒自动向手机上传Start...指令,直到手机回复数据为止,如图6,7所示;还有通过WIFI连接远程计算机,当远程计算机的服务器和NUCLEO-F412ZG开发板连接后,NUCLEO-F412ZG开发板会自动向服务器端发送数据,如图8所示。




图6 STM32F4蓝牙广播




图7 通过蓝牙自动上传数据




图8 通过WIFI自动上传数据




Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top