[活动专区] 【AT-START-F423测评】+ 03_AT_START_F423的交互

[复制链接]
 楼主| Tristan_C 发表于 2023-10-28 00:31 | 显示全部楼层 |阅读模式
本帖最后由 Tristan_C 于 2023-10-28 00:35 编辑

AT_START_F423的交互测试
这个测试相对还是比较简单,主要是按键输入,LED指示和UART的打印。
实际上,本来想自己写代码实现这几方面的功能,后来发现,雅特力的SDK中已经基本包含了这三个方面的基本功能,因此,本次也就来整合一下代码,并对这块包括代码在内进行一次解析,看一下具体的设计。
首先开看下LED,雅特力这块板子上设计了3颗LED,分布在如下三个引脚,LED共阳,低电平点亮。
b7ba298e01a020b6eeec969dfd9d89b9
在程序设计中,LED对LED进行了数组的方式进行定义管理
790af3b3e39a3e430cc454d5516ed393
cc4efe5c7f2a6544cb14d7f3d3ff23d8
在初始化中对GPIO进行模式等配置,
48ae8aec61a819e1c50a9d4e3615bb80
之后LED的控制就相对比较简单,直接可以利用数组进行操作了,这样设计代码就能相对比较简洁,也灵活,对增加和删除LED比较方便。主要更改宏定义,而代码本身就可以节省改动的麻烦。
055cdbd91ec0a00213483ecff445ff00
接下来看一下按钮,根据原理图设计,实际上是接到了PA0口,其具备外部中断的功能。引脚接下拉电阻到地,未按下按钮时,为低电平,按下时为高电平,输到IO口。
2a62ad496c2d75cc5e62db45d40cd358
设计上主要是采用中断方式,即exint_line中断,上升沿触发。
1a5b0248074600f6469e521ce7b5afce
在中断中,置位按钮按下标志位,并清除按钮中断。
0822519480b6005b0de29ae5d45c2559
最后来到uart的部分,这部分需要实现一个printf打印函数的重映射。
首先我们看到,其实我们为了节省接线,**能通过AT-Link上的USB口来做这个事情,也就是AT32F423的uart通过仿真器上的usb进行通信,先从电脑上看,这个仿真器是有支持CDC的端口的。
3e52453ba2ce0b8e018582df54984869
但仿真器的usb直接到了仿真主芯片,因此必须是AT32F423 跟仿真芯片连接。
d852404ab19de5cf888440f8589f20f1
继续查看原理图,发现确实将USART1接到仿真器上,
51e3434a65e888c570480fcc2b33c633
再继续查找,确认通过JP2连接到了PA9,这样就可以使用PA9所在的USART1了。
f750e65919443ce7191c017a5303a483
接下来看usart的引脚定义
06349a6e7dfca83e59ce9834ab5862f9
以及初始化函数,由于只需要printf打印,也就是输出,因此值配置了TX引脚。
7555073d49bf5f5a16afb1f115cb0df0
最后来到main函数
418c5f860d8540cfdecff5be2abb8752
对板载的LED和Key进行初始化,并初始化了打印printf串口,指定其波特率115200bps,再打印Hello Artery。
在主循环中等待按键按下,切换LED亮灭并printf打印按钮按下信息。
编译下载运行
ef446d6198db82335ab64b88a3ad568a
69b46f67805ba9e6eb87ab078dce1f04
串口打印信息,按下按钮也可以看到LED切换亮灭并打印串口按键提示。
4594b0ae74378822e8fb6f6905560590
d84077dd35b3116b3757a048f00182aa
e399746b100e34a50c26d3d95c46fd47
SDK在这块的设计已经相对比较全面,完善了。其实包括demo code这些,也都做得非常好了,比如timer里面,各种例程demo code。这也是芯片生态建设最基础最重要的一环,完善全面的生态,包括IDE,图形化配置界面,以及文档,参考设计等等,可以让使用者,产品开发者更加快速便捷,也更加专注于产品应用的开发。
295903d5b154b236b871410ed81a27a5



jiaohu.rar

1.14 MB, 下载次数: 0

03_AT_START_F423的交互的代码

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

本版积分规则

16

主题

117

帖子

1

粉丝
快速回复 返回顶部 返回列表