欢迎光临散文网 会员登陆 & 注册

[拇指模组开源项目]3 用STM32和国产CS32的GPIO——手把手教你点灯、闪烁灯、呼吸灯

2020-10-01 21:37 作者:技术龙的传人  | 我要投稿

        小白跟着操作装好环境后几分钟就能完成,千万不要跟丢了,这可以让你轻松步入32位单片机的大门,有些术语不明白自己百度一下就知道了什么是知识点,自己摸索的过程能够加深记忆,说起专业术语来也有范儿,跟专业人士沟通就再也不会蒙圈儿了,都是这么过来的。

        废话不多说,COME ON!!!


开发所使用软硬件:(不到20元成本)

    keil5.14(keil及开发支持包下载和安装教程)   

    STM32F103C8T6、CS32F103C8T6最小系统板 

市面上很多不到10元就能买到,还包邮,比自己做硬件省事儿多了

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

十元左右,也包邮,可以供电也可以仿真,小巧方便,最多用四根线连接最小系统板

工程模版——HAL库、标准库、寄存器操作都借鉴原子哥的,我是跟原子哥学习的stm32

(稍后分享这个范例的工程模版)

准备工作:(ST与国产32的软件开发工具及接线方式一样)

    1、安装好上述软件(遇到问题在网上都可以找到方法解决,也可以评论区留言,我会回复分享给大家解决思路和方法)

    2、按照定义用杜邦线一一对应连接

VCC——3V3(3.3V简写) SWDIO——SWD(SWDIO简写) 其余按丝印名字对应连接

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


        

我买的是MicroUSB接口供电的最小系统板,直接用我的安卓手机数据线连电脑就能用了,So easy!!!

下面打开工程模版开始表演吧!

编写代码:(我以原子哥的战舰V3开发板HAL库工程模版为例)

        1、打开工程模版(G:\learn\STM32F103 战舰V3基础例程(HAL库版)V1.0\实验1 跑马灯实验\USER\LED.uvprojx)led.c做如下修改:

打开STM32F103 战舰V3基础例程(HAL库版)V1.0\实验1 跑马灯实验\USER\LED.uvprojx工程后

源码:

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;

}

下载程序

下载前做好相关配置
编译和下载


运行结果看演示视频

注意事项


虽然keil的license过期了,但是对于我学习开发并无大碍

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

还有什么需要补充的请评论区留言,我会补充上,祝大家玩儿的开心!


[拇指模组开源项目]3 用STM32和国产CS32的GPIO——手把手教你点灯、闪烁灯、呼吸灯的评论 (共 条)

分享到微博请遵守国家法律