提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
基于stm32cubeMX 实现流水灯
STM32cubeMX的下载
stm32cubeMX下载地址:
https://www.st.com/en/development-tools/stm32cubemx.html
根据提示一步步点next就行;
进来之后点击help中的
下载固态库文件
我下载的是1.8.4版本的,做出来有问题,然后又下了1.8.3版本的
一,软件内部配置
创建新工程
点击file中的new project
打开rcc时钟寄存器
配置系统调试接口sys,选择Serial Wire
将需要用到的三个GPIO端口设置成output
GPIO output level:有low和high两种选择,一般选择low
GPIO mode:推挽输出和开漏输出两者模式,两者模式的区别在于推挽输出中1代表VCC,0表示GND;开漏输出中1代表高阻态,0代表GND。
GPIO Pull-up/Pull-down:输入需要上下拉,输出一般没有上下拉
Maxinum output speed:最大的输出速度,一般选择low就可以了。
点击project manager
设置不同的参数
比如
toolchain的选择必须是
mdkarm v5
点击open object
二,keil5 上的运行
将
HAL_GPIO_WritePin(GPIOA,GPIO_PIN_0,GPIO_PIN_RESET);//亮
HAL_Delay(1000);//时延1秒
HAL_GPIO_WritePin(GPIOA,GPIO_PIN_0,GPIO_PIN_SET);//灭
HAL_Delay(1000);
HAL_GPIO_WritePin(GPIOC,GPIO_PIN_14,GPIO_PIN_RESET);//亮
HAL_Delay(1000);
HAL_GPIO_WritePin(GPIOC,GPIO_PIN_14,GPIO_PIN_SET);//灭
HAL_Delay(1000);
HAL_GPIO_WritePin(GPIOB,GPIO_PIN_9,GPIO_PIN_RESET);//亮
HAL_Delay(1000);
HAL_GPIO_WritePin(GPIOB,GPIO_PIN_9,GPIO_PIN_SET);//灭
HAL_Delay(1000);
插入到main.c主函数的while(1)循环中去
点击魔术棒
运行
打开示波器:点击
记住将所有的参数的display type 设置成bit
点击开始运行,得到如下波形图
三,硬件的结果
根据上一次实验的基础,将代码烧录到stm32芯片中去,然后点击开始编译,得到下面的结果
总结
这次实验对我来说压力有点大其实,主要是新的软件不怎么会使用,加上英语有点差,让人有点受不了
参考文献
https://blog.youkuaiyun.com/qq_43279579/article/details/112213196
https://blog.youkuaiyun.com/qq_43279579/article/details/112233696