查看: 759|回复: 0

【STM32F4DIS-WIFI】3.程序代码分析(一)

[复制链接]
  • TA的每日心情
    奋斗
    2017-7-17 13:49
  • 签到天数: 367 天

    连续签到: 1 天

    [LV.9]以坛为家II

    发表于 2015-9-8 08:50:13 | 显示全部楼层 |阅读模式
    分享到:
    前面介绍了STM32F4DIS-WIFI开发板的基本情况,现在分析一下它的程序代码结构,以及它的运行机制是怎样的。官方给的开发资料里面有提供示例代码,因为笔者手中并没有STM32F4 Discovery开发板,所以只能先解析一下代码,并争取将它移植到其他平台上!
       首先是代码测试的硬件环境,如下图所示。

    主控STM32F4的一个串口与SN8200模块连接,另一个串口用USB转串口线与PC端连接,STM32F4起到的作用就是将PC端的控制命令传达给SN8200模块,与SN8200进行交互,并反馈信息给PC。

    上图是官方示例程序的结构,熟悉STM32开发的读者应该不会陌生,下面框内是ST提供的标准外设驱动和CMSIS开发库,上一个框内是用户主程序和SN8200的驱动程序,也是我们需要理解的主体部分。

    上图是官方文档中给出的程序运行时的一个界面,用户在PC端输入命令,命令由STMF4 Dis接收并传达给SN8200模块。
    下面我们从main开始分析程序代码:

    大致流程:
    1.配置时钟,程序中需要用到延时,利用systick实现
    2.初始化调试串口USART3(PC10、PC11),负责PC与STM32的连接
    3.SN8200的初始化,串口USART1(PB6、PB7),有意思的是,它配置的波特率为921600,很少用到如此奇特的波特率哦
    4.控制打开wifi,函数Wifion()
    5.显示交互界面showmenu
    6.在死循环中,STM32F4接收PC的控制命令,解析出来并对SN8200进行相应的控制;同时,反过来,SN8200模块反馈回来的信息经由STM42F4传递到PC界面。后面可以看到,在下层实现过程中,它们中的打包/解包操作其实是一个逆过程。
        程序流程非常简单,其中,最重要的是STM32F4怎样与SN8200模块进行信息交互的,当然他们之间其实是定义了一个叫做“Serial Network Interface(SNIC)”,它的本质是利用串口实现的,所以它们之间传递的是字符,维持了一个通讯协议。所以,SNIC是控制的主要部分,这一部分将在下一节详细讲述。
    回复

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /5 下一条

    手机版|小黑屋|与非网

    GMT+8, 2024-12-19 15:23 , Processed in 0.118323 second(s), 17 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.