打印
[PIC®/AVR®/dsPIC®产品]

【CuriosityNano测评报告】AVR128DB48+串口与LED

[复制链接]
1441|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
     关于AVR128DB48的应用程序开发示例,官方提供的git中有许多,使用“MPLABX-v5.45”似乎不能直接导入,每个工程需要按部就班,新建工程后使用MCC设置系统时钟,外设接口,在main.c中添加部分逻辑代码即可实现对外设的操作。本人围绕简单的GPIO口、USART,体验到了MPLABX带来的方便快捷。
      我们从原理图或者开发板上的丝印知道,按键旁边的LED是PB3,因此只需设置GPIOB_3的高低电平即可实现LED的点亮与熄灭,正如前面搭建环境帖子中提及,使用MCC设置系统时钟24M,然后在Pin Module中勾选PortB_3为输出口,然后再Generate,再在main.c中添加部分代码,截图如下:

      开发板实现的现象如下:

      对一个GPIO口操作是比较简单,但是在接下来用USART通信时,遇到比较怪异的情况,使用USART1发送并回显到电脑端,结果出现乱码,PC端发送“1”,结果收到是“g”,git上也有采用USART1做为printf hello world示例,当然该例程只是直接输出“hello world”字符。实现串口通信,同样的在工程中设置系统时钟24M。

       然后根据电路原理图,我们得知USART1是带Debug接口,因此在代码调试时可采用USART1,可能正因为这个原因,如果还对该串口进行读写,信号会受到干扰,造成写入的字符与读出的字符产生偏差。

       因此在此工程中,换用USART3实现串口回显。使用MCC对串口3进行如下参数设置

         然后Pin Module中勾选PortB_3为输出口。PB0做为TXD,PB1做为RXD是系统自动生成。

         Generate自动生成代码后,在pin_manager.h的头文件中,可找寻到所需调用的接口函数。

       然后根据自己的应用需求,在main.c中添加逻辑处理代码

         实现了串口3的异步通信,数据及时回显,操作如下图所示

       此次就初略得了解了如何使用MPLABX-v5.45构建工程,使用MCC快速导出调用外设接口函数,最后附上两个工程,感谢来访。
test_led.X.zip (132.84 KB)
usart.X.zip (159.52 KB)

使用特权

评论回复
沙发
weifeng90| | 2021-4-12 07:59 | 只看该作者
感谢楼主的分享,这个开发板很mini啊!

使用特权

评论回复
板凳
pzsh| | 2021-4-20 22:18 | 只看该作者
视频效果,钢钢的!

使用特权

评论回复
地板
drer| | 2021-5-11 13:23 | 只看该作者
为什么不能直接导入呢

使用特权

评论回复
5
qcliu| | 2021-5-11 13:24 | 只看该作者
要是能直接导入就没有这么麻烦了

使用特权

评论回复
6
tfqi| | 2021-5-11 13:26 | 只看该作者
视频效果非常不错啊

使用特权

评论回复
7
wiba| | 2021-5-11 13:27 | 只看该作者
这个是申请的开发板吗

使用特权

评论回复
8
yinwuqing110|  楼主 | 2021-5-11 13:31 | 只看该作者
wiba 发表于 2021-5-11 13:27
这个是申请的开发板吗

是的,新的一期又开始申请了,你可以试试

使用特权

评论回复
9
zljiu| | 2021-5-11 13:35 | 只看该作者
这个工具确实非常好用

使用特权

评论回复
10
coshi| | 2021-5-11 13:35 | 只看该作者
这个开发板还是很不错的

使用特权

评论回复
11
huquanz711| | 2021-5-12 18:47 | 只看该作者
AVR居然还能活下去

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

99

主题

1023

帖子

7

粉丝