[PIC®/AVR®/dsPIC®产品] 【CuriosityNano测评报告】AVR128DB48+串口与LED

[复制链接]
1725|10
 楼主| yinwuqing110 发表于 2021-4-11 18:28 | 显示全部楼层 |阅读模式
     关于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快速导出调用外设接口函数,最后附上两个工程,感谢来访。



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
weifeng90 发表于 2021-4-12 07:59 来自手机 | 显示全部楼层
感谢楼主的分享,这个开发板很mini啊!
pzsh 发表于 2021-4-20 22:18 | 显示全部楼层
视频效果,钢钢的!
drer 发表于 2021-5-11 13:23 | 显示全部楼层
为什么不能直接导入呢
qcliu 发表于 2021-5-11 13:24 | 显示全部楼层
要是能直接导入就没有这么麻烦了
tfqi 发表于 2021-5-11 13:26 | 显示全部楼层
视频效果非常不错啊
wiba 发表于 2021-5-11 13:27 | 显示全部楼层
这个是申请的开发板吗
 楼主| yinwuqing110 发表于 2021-5-11 13:31 | 显示全部楼层
wiba 发表于 2021-5-11 13:27
这个是申请的开发板吗

是的,新的一期又开始申请了,你可以试试
zljiu 发表于 2021-5-11 13:35 | 显示全部楼层
这个工具确实非常好用
coshi 发表于 2021-5-11 13:35 | 显示全部楼层
这个开发板还是很不错的
huquanz711 发表于 2021-5-12 18:47 来自手机 | 显示全部楼层
AVR居然还能活下去
您需要登录后才可以回帖 登录 | 注册

本版积分规则

107

主题

1102

帖子

7

粉丝
快速回复 在线客服 返回列表 返回顶部