最近闲来无事,用废板子上的Gheey32F103RCT6做了一块开发板,重新踏足嵌入式。。。。
但由于工作过久已经把大部分嵌入式内容忘了,然后我看见网上推荐cubemx开发对新手很友好,于是开始研究起来!!!
首先下载cubemx 可以去官网或者其他博主分享的(不建议下载最新版本以上,用起来我觉得折磨人。。。)
链接:https://pan.baidu.com/s/1jzPCqANBk_VB2Nd1wq0duA?pwd=CUBE
提取码:CUBE
JAVA 环境
链接:https://pan.baidu.com/s/1ZwsirsOdsclTuX0raX1AMQ?pwd=java
提取码:java
都正常安装即可。
第一步 新建工程 file -> new Project 然后在搜索STM32F103RCT6(因为极海的Gheey32F103RCT6是可以兼容意法STM32,兆亿GD32类似操作)
第二步 进入配置界面 我的按钮和LED分别挂在PD2、PC10。在配置界分别完成输入输出定义。点击界面左侧,完成RCC配置选择外部输入,也可给GPIO起别名;
第三步,时钟配置,如果没有特殊倍频或分频要求,一般不做修改;
第四步 工程输出
第五步,用自己的IDE打开工程,我用的KEIL5,进行编译(注:有些版本的cubemx 不会加入启动文件需要手动添加,自行百度吧),然后加入自己想要的功能,一般添加在USER CODE BEGIN USER CODE END 这两句注释中;
第六部分 功能代码编译无错 ,按照下面截图顺序配置download 进开发板中,(我用的ST_link,其它下载工具类似,可自行百度)
/* USER CODE BEGIN WHILE */
while (1)
{
if(HAL_GPIO_ReadPin(GPIOD,GPIO_PIN_2)==RESET)/*第一次按下
{
HAL_Delay(10); /*消抖
if(HAL_GPIO_ReadPin(GPIOD,GPIO_PIN_2)==RESET)
{
while(1)/*LED闪烁
{
HAL_GPIO_WritePin(LED2_GPIO_Port, LED2_Pin, GPIO_PIN_RESET);
HAL_Delay(2000);
HAL_GPIO_WritePin(LED2_GPIO_Port, LED2_Pin, GPIO_PIN_SET);
HAL_Delay(2000);
}
}
}
else
HAL_GPIO_WritePin(LED2_GPIO_Port, LED2_Pin, GPIO_PIN_SET);
/* USER CODE END WHILE */
/* USER CODE BEGIN 3 */
}
/* USER CODE END 3 */
最后效果:
按下按钮即可让LED闪烁
LED闪烁