TKM32F499纯寄存器之GPIO测试(输出,输入测试)工程源码

[复制链接]
查看33 | 回复0 | 2021-3-25 01:25:28 | 显示全部楼层 |阅读模式
底层的一般都用寄存器。一般的库也就是用来参考下,因为最终都是操作寄存器。GPIO配置相对比较简单,所以就从GPIO动手。买的板子附带一个可以直接用jlink调试的程序,所以从这个程序动手,写一个最简单的GPIO程序。程序目的:定时闪烁LED-(PD8引脚),同时检测按键按下时:LED常亮。第一步骤:建立工程,如图,具体不表。由于TK499是M4内核,所以只要移植常用的:cmsis_armcc.h/core_cm4.h...等文件,然后外加:.s启动文件,再加上:tk499.h文件,等等。。
forum.php?mod=attachment&aid=NTQ1NjEyfGM0MjI5NzIxfDE2MTY2MDEwNzh8OTczMjJ8NTc0Njg3Mw%3D%3D&noupdate=yes
第二步骤:改定义TK499中关于各种寄存器的定义。看了下:定义没有位模式,而是整个寄存器进行定义。所以改成位模式,由于时间关系,暂时只改了GPIO和RCC时钟控制这一块。所以改:
forum.php?mod=attachment&aid=NTQ1NjEzfDcyZjc3ZjMzfDE2MTY2MDEwNzh8OTczMjJ8NTc0Njg3Mw%3D%3D&noupdate=yes

第三步骤:删除。TK499.h文件,一共有4700多行代码。3000多行代码,全都是寄存器位的宏定义值。把这些全删了,因为不用库。第四个步骤:对照手册写程序。因为最终的操作都是寄存器,所以打开:TK499的手册:把GPIO时钟配置下,GPIO状态配置下:
forum.php?mod=attachment&aid=NTQ1NjE0fDk2ZTgwZWUzfDE2MTY2MDEwNzh8OTczMjJ8NTc0Njg3Mw%3D%3D&noupdate=yes

最后:写在while循环里面,一个是LED任务,一个是检测按键。
forum.php?mod=attachment&aid=NTQ1NjE1fDU1YTdiMzk1fDE2MTY2MDEwNzh8OTczMjJ8NTc0Njg3Mw%3D%3D&noupdate=yes

下载测试:测试成功,LED定时闪烁,同时按下按键,LED常亮!
forum.php?mod=attachment&aid=NTQ1NjE2fDNiNWYxMzY3fDE2MTY2MDEwNzh8OTczMjJ8NTc0Njg3Mw%3D%3D&noupdate=yes

工程源码在附件: GPIO-TK499.zip (310.3 KB, 售价: 1 工控币)



回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则