[拇指模组开源项目]3 用STM32和国产CS32的GPIO——手把手教你点灯、闪烁灯、呼吸灯
小白跟着操作装好环境后几分钟就能完成,千万不要跟丢了,这可以让你轻松步入32位单片机的大门,有些术语不明白自己百度一下就知道了什么是知识点,自己摸索的过程能够加深记忆,说起专业术语来也有范儿,跟专业人士沟通就再也不会蒙圈儿了,都是这么过来的。
废话不多说,COME ON!!!
开发所使用软硬件:(不到20元成本)
keil5.14(keil及开发支持包下载和安装教程)
STM32F103C8T6、CS32F103C8T6最小系统板

Jlink仿真器及驱动(Jlink仿真器驱动)

工程模版——HAL库、标准库、寄存器操作都借鉴原子哥的,我是跟原子哥学习的stm32
(稍后分享这个范例的工程模版)
准备工作:(ST与国产32的软件开发工具及接线方式一样)
1、安装好上述软件(遇到问题在网上都可以找到方法解决,也可以评论区留言,我会回复分享给大家解决思路和方法)
2、按照定义用杜邦线一一对应连接

检查最小系统板上跳线帽插在哪儿了,要将boot短接在0位置上

我买的是MicroUSB接口供电的最小系统板,直接用我的安卓手机数据线连电脑就能用了,So easy!!!
下面打开工程模版开始表演吧!
编写代码:(我以原子哥的战舰V3开发板HAL库工程模版为例)
1、打开工程模版(G:\learn\STM32F103 战舰V3基础例程(HAL库版)V1.0\实验1 跑马灯实验\USER\LED.uvprojx)led.c做如下修改:

源码:
void LED_Init(void)
{
GPIO_InitTypeDef GPIO_Initure;
__HAL_RCC_GPIOC_CLK_ENABLE();
GPIO_Initure.Mode=GPIO_MODE_OUTPUT_PP;
GPIO_Initure.Pull=GPIO_PULLUP;
GPIO_Initure.Speed=GPIO_SPEED_HIGH;
GPIO_Initure.Pin=GPIO_PIN_13;//GPIO_PIN_All; //PC13
HAL_GPIO_Init(GPIOC,&GPIO_Initure);
HAL_GPIO_WritePin(GPIOC,GPIO_PIN_13,GPIO_PIN_SET);
}
2、点灯(运行后PC13旁边的灯会点亮,低电平有效)修改main.c

源码:
#define LED1Reversal HAL_GPIO_TogglePin(GPIOC,GPIO_PIN_13)
LED1Reversal;
3、闪烁灯修改main.c

源码:
LED1Reversal;
delay_ms(500);
3、呼吸灯修改main.c

源码:
int i = 0;
int MAX = 20;
for(;i < MAX;i += 1)
{
delay_ms((MAX-i)?(MAX-i):1);
LED1Reversal;
delay_ms(i?i:1);
LED1Reversal;
}
for(;i > 0;i -= 1)
{
delay_ms((MAX-i)?(MAX-i):1);
LED1Reversal;
delay_ms(i?i:1);
LED1Reversal;
}
下载程序:


运行结果看演示视频
注意事项:

小伙伴们还有什么需要的资料,可以评论区留言给或者联系我们(QQ交流群:801991090),希望分享出来的东西能够帮助到大家。
还有什么需要补充的请评论区留言,我会补充上,祝大家玩儿的开心!