爱板网论坛

查看: 263|回复: 0

[中移One NET] 麒麟座mini之二-开发环境搭建、资源配置、硬件测试

[复制链接]

2

主题

0

好友

86

积分

童生

Rank: 2

该用户从未签到

发表于 2017-9-10 22:11:08 |显示全部楼层
本帖最后由 zhouzpd 于 2017-9-18 21:05 编辑

麒麟座mini之二-开发环境搭建、资源配置、硬件测试

上期简单学习了一下原理图和资源,这期就来配置一下开发环境和资源,然后完成硬件测试。
麒麟座mini之一-开箱、上电、原理图

STM32CubeMX

http://www.stmicroelectronics.com.cn/content/st_com/en/products/embedded-software/mcus-embedded-software/stm32-embedded-software/stm32cube-embedded-software/stm32cubef1.html?dl=%2B3MhzdJFCSuiolF1agIggQ%3D%3D%2CXl9aK6rOnOOB0UlFLh9rzg3nZRSbtn92JGfLGczeozUNupF8qbIYJfR0BroaTHWf

开发环境搭建
安装Keil
我安装的是Keil 5,当然需要安装STM32F103d对应的库。具体安装过程就不一一讲解了,自行百度即可。

本次最终使用了STM32Cube来建立工程,方便快捷。

建立工程
建立工程,选择芯片,这些都不用再多说了吧,主要说一下Keil 5选择库文件。

2.0.png

选择需要的外设和驱动,则自动会添加到工程中,如果某个外设需要以来其他的驱动,则勾选上即可。以后如果需要其他外设,可 2.1.png
进行添加。
建立main函数
新建main.c文件,并添加到工程,编写代码

2.2.png

保存,编译,无警告和错误,说明工程建立完成。

其他配置,输出hex,设置头文件路径,设置ST-Link等就不一一细说了。

最终的文件结构

Lesson 2

|-User-mian.c

|-HDW-HdwIO.c

|-MCU-McuConfig.c

资源配置
配置外设遵循“时钟-IO-方向-复用功能-外设属性”的过程来配置。

这次有了STM32CubeMX,就直接用这个工具来配置并生成代码好了。

先复习一下上期的资源表

  
引脚
  
  
IO
  
  
功能
  
  
配置
  
  
描述
  
  
30
  
  
PA9
  
  
USART1_TX
  
  
上拉推挽输出,复用功能
  
  
  
  
31
  
  
PA10
  
  
USART1_RX
  
  
下拉输入,复用功能
  
  
  
  
12
  
  
PA2
  
  
USART2_TX
  
  
上拉推挽输出,复用功能
  
  
  
  
13
  
  
PA3
  
  
USART2_RX
  
  
下拉输入,复用功能
  
  
  
  
41
  
  
PB5
  
  
Wi-Fi Reset
  
  
推挽输出
  
  
  
  
21
  
  
PB10
  
  
I2C_SCL
  
  
推挽输出
  
  
  
  
22
  
  
PB11
  
  
I2C_SDA
  
  
开漏输出
  
  
  
  
42
  
  
PB6
  
  
LED
  
  
推挽输出
  
  
  
  
43
  
  
PB7
  
  
LED
  
  
推挽输出
  
  
  
  
45
  
  
PB8
  
  
LED
  
  
推挽输出
  
  
  
  
46
  
  
PB9
  
  
LED
  
  
推挽输出
  
  
  
  
  
  
  
  
  
  
  
  
  


IO配置
配置十分简单,选择对应IO口需要的功能即可,选择后,如果和外设有冲突,则左边外设会有红色或黄色的提示,十分易懂。

这里要注意选择RCC时钟源,否则后面配置时钟时选不到外部时钟。

提醒:SYS要选择调试工具SW,否则下载程序后无法再用ST-Link下载。这时跳线J8,重新上电即可再下载。

2.3.png


时钟配置
配置所用到的外设时钟,一张图看懂所有时钟配置,想要多少就输入多少,自动生成配置。这里要注意外部时钟12M

2.4.png


外设属性配置
配置一些外设属性,如GPIO上下拉、中断、DMA等。每一个点进去看看就知道了,十分简单。

2.5.png

工程配置
配置工程路径和代码选项,注意选择IDE

2.6.png

配置系统时钟和定时器

生成代码
配置好后,以后点击这个按钮就能生成代码了,同时创建了一个工程,免去建工程的步骤了。

有兴趣的话可以看看生成的初始化代码,对新手理解MCU还是很有帮助的。

以后修改后,编写再/* USER CODE BEGIN 4 */    /* USER CODE END 4 */之间的代码是不会被更新的,因此用户自定义的代码可放在这里面。

2.7.png

硬件测试
简单测试一下LEDEEPROM、温湿度等功能吧。资料里其实也是有的。

LED测试
编写一个流水灯。定时不用延时,使用系统时钟。
  1. U32 tick_s;
  2. U08 leds = 1;
  3. void UserMain(void)
  4. {
  5.     while(1)
  6.     {
  7.         if(tick_s != HAL_GetTick()/1000)
  8.         {
  9.             tick_s = HAL_GetTick()/1000;
  10.             HDW_SetLed(leds);
  11.             leds <<= 1;
  12.             if(leds >= 0xF)
  13.                 leds = 1;
  14.         }
  15.     }
  16. }
复制代码
下期预告


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

关闭

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

手机版|爱板网 |网站地图  

GMT+8, 2017-12-17 14:22 , Processed in 0.212240 second(s), 12 queries , Memcache On.

苏公网安备 32059002001056号

Powered by Discuz!

回顶部