前言
本人是一名嵌入式学习者,在大学期间也参加了不少的竞赛并获奖,包括:江苏省电子设计竞赛省一、睿抗机器人国二、中国高校智能机器人国二、嵌入式设计竞赛国三、光电设计竞赛国三、节能减排竞赛国三等。
暑假的时候参加了太多的比赛,作为队长要写代码、材料文档,几乎是比完赛过几天又要去其他比赛了,前段时间都在休息,现在才有时间来记录一下。后面会经常写一下博客分享一下,如果想了解其他项目、技术,可以去B站搜:星汇极客,主页链接:星汇极客B站
此外,还开发了个人网站,里面有一些资料和源码供下载:星汇极客
二、LED点灯
(1)在CubeMX打开之前创建的工程
方法1:打开文件夹,双击.ioc自动打开CubeMX
方法2:打开CubeMX,会显示最近打开的工程,点击
(2)这里显示STM32F103C8t6芯片的引脚,可以点击配置
(3)STM32F103C8t6最小系统是PC13引脚控制LED。点击PC13,选中GPIO_Output引脚输出
(4)这里可以配置引脚,我这里没有改
(5)点击GENERATE CODE生成代码,点击Open Project打开Keil。
(6)在刚刚打开的Keil先改设置,点击魔术棒改成这样。
(7)在C/C++里改成Level 3可以避免很多警告错误。
(8)选择烧录器,如果是STLink就选STLink,DAPLink就选CMSIS-DAP。
单片机连接烧录器再点击Settings,自动显示连接信息。
(9)这里注意选中Reset and Run,这样烧录代码后不用再次手动复位才能生效。
(10)写代码,改变引脚电平控制LED亮。
在main.c中的while循环里写,HAL_GPIO_WritePin(GPIOC,GPIO_PIN_13,1);函数设置引脚的高低电平,HAL_Delay(1000);函数是延时函数,单位ms。
也可以用HAL_GPIO_TogglePin(GPIOC,GPIO_PIN_13);来翻转引脚电平。
//方法1
HAL_GPIO_WritePin(GPIOC,GPIO_PIN_13,1); //设置PC13高电平
HAL_Delay(1000); //延时1000ms
HAL_GPIO_WritePin(GPIOC,GPIO_PIN_13,0); //设置PC13低电平
HAL_Delay(1000); //延时1000ms
//方法2
//HAL_GPIO_TogglePin(GPIOC,GPIO_PIN_13); //翻转PC13的电平
//HAL_Delay(1000);
(11)写完代码,点击左上角第二个编译,编译完下面框显示0Error就行,Warning问题不大不用管。
(12)连接烧录器,点击绿色这个按钮烧录代码到单片机里面
(13)烧录完之后,可以看到最小系统的LED灯亮、灭交替
关注下方获取源码、资料: