用户工具

站点工具


icore3_arm_hal_5

差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

两侧同时换到之前的修订记录 前一修订版
后一修订版
前一修订版
icore3_arm_hal_5 [2020/01/16 17:56]
zgf [四、 实验程序]
icore3_arm_hal_5 [2022/03/18 15:01] (当前版本)
sean
行 1: 行 1:
-===== STM32CbeMX教程五——UART通信实验 =====+|**银杏科技有限公司旗下技术文档发布平台** ​ |||| 
 +|技术支持电话|**0379-69926675-801** ​ ||| 
 +|技术支持邮件|Gingko@vip.163.com ​ ||| 
 +^  版本 ​ ^  日期 ​ ^  作者 ​ ^  修改内容 ​ ^ 
 +|  V1.0  |  2020-1-16 ​ |  gingko ​ |  初次建立 ​ | 
 + 
 +===== STM32CubeMX教程五——UART通信实验 =====
 1. 新建工程:在主界面选择File-->​New Project ​  ​或者直接点击ACCEE TO MCU SELECTOR  ​ 1. 新建工程:在主界面选择File-->​New Project ​  ​或者直接点击ACCEE TO MCU SELECTOR  ​
-{{ :​icore3:​icore3_cube_5_1.png?​direct |}} +{{ :​icore3:​icore3_cube_5_1.png?​direct&​900 ​|}} 
 2. 出现芯片型号选择,搜索自己芯片的型号,双击型号,或者点击Start Project进入配置 2. 出现芯片型号选择,搜索自己芯片的型号,双击型号,或者点击Start Project进入配置
 在搜索栏的下面,提供的各 ​ 种查找方式,可以选择芯片内核,型号,等等,可以帮助你查找芯片。本实验选取的芯片型号为:STM32F407IGTx。 在搜索栏的下面,提供的各 ​ 种查找方式,可以选择芯片内核,型号,等等,可以帮助你查找芯片。本实验选取的芯片型号为:STM32F407IGTx。
-{{ :​icore3:​icore3_cube_5_2.png?​direct |}} +{{ :​icore3:​icore3_cube_5_2.png?​direct&​900 ​|}} 
 3. 配置RCC,使用外部时钟源 3. 配置RCC,使用外部时钟源
-{{ :​icore3:​icore3_cube_5_3.png?​direct |}} +{{ :​icore3:​icore3_cube_5_3.png?​direct&​900 ​|}} 
 4. 配置调试引脚 4. 配置调试引脚
-{{ :​icore3:​icore3_cube_5_4.png?​direct |}} +{{ :​icore3:​icore3_cube_5_4.png?​direct&​900 ​|}} 
 5. 将LED对应的3个引脚(PI5,PI6,PI7)设置为GPIO_Output 5. 将LED对应的3个引脚(PI5,PI6,PI7)设置为GPIO_Output
-{{ :​icore3:​icore3_cube_5_5.png?​direct |}} +{{ :​icore3:​icore3_cube_5_5.png?​direct&​900 ​|}} 
 6. 引脚模式配置 6. 引脚模式配置
-{{ :​icore3:​icore3_cube_5_6.png?​direct |}} +{{ :​icore3:​icore3_cube_5_6.png?​direct&​900 ​|}} 
 7. 设置串口 7. 设置串口
 +{{ :​icore3:​icore3_cube_5_7.png?​direct&​900 |}} 
   * 在NVIC Settings 一栏使能接收中断   * 在NVIC Settings 一栏使能接收中断
-{{ :icore3:icore3_cube_5_7.png?direct |}} +{{ :icore3:icore3_cube_5_8.png?direct&​900 ​|}} 
 8. 时钟源设置,选择外部高速时钟源,配置为最大主频 8. 时钟源设置,选择外部高速时钟源,配置为最大主频
-{{ :icore3:icore3_cube_5_8.png?direct |}} +{{ :icore3:icore3_cube_5_9.png?direct&​900 ​|}} 
 9.  工程文件的设置,​ 这里就是工程的各种配置 我们只用到有限几个,其他的默认即可 ​ IDE我们使用的是 MDK5 9.  工程文件的设置,​ 这里就是工程的各种配置 我们只用到有限几个,其他的默认即可 ​ IDE我们使用的是 MDK5
-{{ :icore3:icore3_cube_5_9.png?direct |}} +{{ :icore3:icore3_cube_5_10.png?direct&​900 ​|}} 
 10. 点击Code Generator,进行进一步配置 10. 点击Code Generator,进行进一步配置
-{{ :icore3:icore3_cube_5_10.png?direct |}} +{{ :icore3:icore3_cube_5_11.png?direct&​900 ​|}}
   * **Copy all used libraries into the project folder**   * **Copy all used libraries into the project folder**
   * 将HAL库的所有.C和.H都复制到所建工程中   * 将HAL库的所有.C和.H都复制到所建工程中
行 35: 行 42:
     * 缺点:复制到其他电脑上或者软件包位置改变,就需要修改相对应的路径     * 缺点:复制到其他电脑上或者软件包位置改变,就需要修改相对应的路径
   * 自行选择方式即可   * 自行选择方式即可
-{{ :​icore3:​icore3_cube_5_11.png?​direct |}} 
 11. 然后点击GENERATE CODE  创建工程。创建成功,打开工程。 11. 然后点击GENERATE CODE  创建工程。创建成功,打开工程。
-{{ :​icore3:​icore3_cube_5_12.png?​direct |}} +{{ :​icore3:​icore3_cube_5_12.png?​direct&​900 ​|}} 
  
  
行 49: 行 55:
   - 掌握KEILMDK 集成开发环境使用方法   - 掌握KEILMDK 集成开发环境使用方法
 ==== 二、 实验设备及平台 ==== ==== 二、 实验设备及平台 ====
-  - iCore3 双核心板 +  - iCore3 双核心板[[https://​item.taobao.com/​item.htm?​spm=a1z10.1-c.w4024-251734887.3.5923532fXD2RIN&​id=524229438677&​scene=taobao_shop|点击购买]] 
-  - JLINK(或相同功能)仿真器+  - JLINK(或相同功能)仿真器[[https://​item.taobao.com/​item.htm?​spm=a1z10.5-c.w4002-251734908.13.20822b61MmPeNN&​id=554869837940|点击购买]]
   - Micro USB线缆   - Micro USB线缆
   - Keil MDK 开发平台   - Keil MDK 开发平台
行 70: 行 76:
     * 支持倍速异步通信模式。     * 支持倍速异步通信模式。
   * **UART时序**   * **UART时序**
-{{ :​icore3:​icore3_arm_hal_5_1.png?​direct |}}+{{ :​icore3:​icore3_arm_hal_5_1.png?​direct&​800 ​|}}
     * 空闲位:高电平。     * 空闲位:高电平。
     * 启动位:一个低电平。     * 启动位:一个低电平。
行 85: 行 91:
 |LED_GREEN_ON\r\n |LED绿灯亮| |LED_GREEN_ON\r\n |LED绿灯亮|
 |LED_GREEN_OFF\r\n |LED绿灯灭| |LED_GREEN_OFF\r\n |LED绿灯灭|
 +
   * 原理示意图如下图所示:   * 原理示意图如下图所示:
-{{ :​icore3:​icore3_arm_hal_5_2.png?​direct |}}+{{ :​icore3:​icore3_arm_hal_5_2.png?​direct&​500 ​|}}
 ==== 四、 实验程序 ==== ==== 四、 实验程序 ====
 == 1. 主函数 == == 1. 主函数 ==
行 97: 行 104:
     HAL_Init();  ​     HAL_Init();  ​
     SystemClock_Config(); ​                       //​配置系统时钟     SystemClock_Config(); ​                       //​配置系统时钟
-    MX_GPIO_Init(); ​                             //初始化所有已配置的外围设备+    MX_GPIO_Init(); ​                             //初始化GPIO
     MX_UART4_Init();  ​     MX_UART4_Init();  ​
- +    ​usart4.initialize(9600); ​                    ​//​串口波特率设置 ​
-    ​usart4.initialize(9600);​ //​串口波特率设置 ​+
     usart4.printf("​Hello,​ I am iCore3!\r\n"​); ​   //​串口信息输出     usart4.printf("​Hello,​ I am iCore3!\r\n"​); ​   //​串口信息输出
     while (1)  ​     while (1)  ​
行 232: 行 238:
  
 通过串口输入命令可以控制LED的亮灭。 通过串口输入命令可以控制LED的亮灭。
-{{ :​icore3:​icore3_arm_hal_5_3.png?​direct |}}+{{ :​icore3:​icore3_arm_hal_5_3.png?​direct&​700 ​|}}
  
icore3_arm_hal_5.1579168609.txt.gz · 最后更改: 2020/01/16 17:56 由 zgf