本帖最后由 xhsycqcssllw 于 2021-1-30 11:10 编辑
#申请原创#本人可能比较懒的原因吧,我基本上很少自己将一个项目一步一步的创建,都是将自己以前或者是Demo复制出来,该删的删该建的建,这样很快就能完成一个所需要的项目,个人觉得计较节约时间;
先随便复制一个例程的Demo工程文件
再在里面稍微修改一下,增加一些文件夹放必要的Driver,Core和自己用户的相关文件
以及添加Pack文件包了
这样进来后在有几个步骤上可以偷懒,因为复制的是例程的Demo,所以进来这些位置也是默认的是Demo
和
我目前就发现只有这两个位置可以偷懒,要是各位同仁还有其他的地方,咱可交流交流。
完了就是配置下载方式选择;由于Demo板上jlink的排针没焊所以只能选择DAP下载了,个人比较喜欢或者习惯吧,喜欢用Jlink。(这个位置有个坑,大家一定要注意了,你用的数据是不是被厂家偷工减料了,只有电源两根线,没有数据的两根线,我大晚上的因为这个原因纠结了一个多小时,线换了2根,突然一下想起来是不是线的问题,剪开看,还真是这个原因,昨晚发现群里面,又有一位同仁被此类问题坑了),
这样工程基本就整完了
接下来就是敲代码咯;
本工程是基于keil 5.31的编译环境,利用通用定时器TIM4产生4路PWM,同时利用基本定时器TIM6,做一个5ms的定时中断,用于计时什么的,再利用3个GPIO做点按和长按输入,用于修改各路的Duty和切换各个通道,在长按操作时,按的时间越长Duty +/- 的速度也会随之加快,最后再无按键操作后2S将各路的Duty保存至Flash,实现掉电保存,各个通道的Duty又通过数码管显示出来;
按键检测部分
Duty变化部分
数码管显示部分
Flash 存储读取部分
通过仿真验证
未存储数据之前,Flash的数据
有数据存取后,Flash的数据
好像图片满了,不让粘贴,不过本贴也基本完了。
|