[PIC®/AVR®/dsPIC®产品] ATMEGA4809的UART在MCC下的使用方法

[复制链接]
2730|14
 楼主| gaoyang9992006 发表于 2025-1-14 16:30 | 显示全部楼层 |阅读模式
本帖最后由 gaoyang9992006 于 2025-1-31 11:52 编辑

#申请原创#@21小跑堂
启动MCC,根据开发板使用的UART引脚为UART3,PB0和PB1



确定了使用引脚就可以启动MCC配置了

Generate生成代码,因为勾选 了重定向printf到该串口,因此可以直接使用printf了
  1. #include "mcc_generated_files/system/system.h"
  2. #include"mcc_generated_files/timer/delay.h"
  3. /*
  4.     Main application
  5. */
  6. unsigned char i=0;
  7. unsigned char sw_flag=0;

  8. void sw_int_handler(void)
  9. {
  10.     sw_flag++;
  11. }
  12. int main(void)
  13. {
  14.     SYSTEM_Initialize();
  15.     SW_SetInterruptHandler(sw_int_handler);
  16.     printf("%02d Hello:%02d\n",i,sw_flag);
  17.     Enable_global_interrupt();
  18.     while(1)
  19.     {
  20.         i++;
  21.         if(i>=100) i=0;
  22.         DELAY_milliseconds(1000);
  23.         YELLOW_LED_Toggle();
  24.         if(sw_flag>0)
  25.         {
  26.             printf("%02d Hello:%02d\n",i,sw_flag);
  27.             sw_flag=0;
  28.         }         
  29.     }   
  30. }
完善代码,如上所示。编译烧录,LED以2S为周期开始闪烁,按键后将会通过printf打印按下的次数。
MCC生成了其他的UART3相关的库函数,方便自己根据应用修改程序配置


本帖子中包含更多资源

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

×

评论

在主函数中,可以通过调用相应的库函数来实现数据的发送和接收  发表于 2025-11-10 12:12
 楼主| gaoyang9992006 发表于 2025-1-14 16:31 | 显示全部楼层
本例程中有使用IO中断,因此应该根据需要配置IO的模式,同时在初始化中使能总中断。
天灵灵地灵灵 发表于 2025-1-14 16:51 | 显示全部楼层
支持中断功能吗
antusheng 发表于 2025-1-16 11:39 来自手机 | 显示全部楼层
有时候跟定时器一起用会乱码是怎么回事?
稳稳の幸福 发表于 2025-1-19 19:52 | 显示全部楼层
自带 那个例子怎么用的?
yiy 发表于 2025-1-26 15:09 | 显示全部楼层
MCC的所有外设配置教程就靠你了。
598330983 发表于 2025-1-26 19:11 | 显示全部楼层
这个还可以开启XCK,比其他厂家的牛啊。
lcczg 发表于 2025-1-27 09:31 | 显示全部楼层
方便又强大。
可以把代码上传下,方便大家参考.
 楼主| gaoyang9992006 发表于 2025-1-31 11:53 | 显示全部楼层
lcczg 发表于 2025-1-27 09:31
方便又强大。
可以把代码上传下,方便大家参考.

已补充附件
灰色与青 发表于 2025-11-7 11:36 | 显示全部楼层
在 ATMEGA4809 的 MCC 中用 UART:先添加 UART 模块,选引脚(如 PD0/RX、PD1/TX),设波特率(如 9600)、数据格式。生成代码后,调用 UART_Write () 发送数据,用 UART_Read () 接收。使能中断可实现异步接收,在中断服务程序中处理数据。主函数初始化外设后,即可通过上述函数进行串口通信,无需手动配置寄存器。
天意无罪 发表于 2025-11-10 09:48 | 显示全部楼层
现在每个MCU厂家都自己搞个配置软件,能不能出一个像编程开发软件KEIL、IAR等这样的通用软件,由芯片厂家提供支持插件,这样不用装多个软件。
tpgf 发表于 2025-11-10 12:12 | 显示全部楼层
将程序下载到ATMEGA4809微控制器中,然后通过连接相应的设备,观察是否能正确地发送和接收数据
水星限定 发表于 2025-11-12 11:15 | 显示全部楼层
在 MCC 中使用 ATMEGA4809 的 UART:打开 MCC,添加 UART 外设,配置波特率、数据位、停止位及校验位,使能收发功能。在引脚配置中分配 TX/RX 引脚。生成代码后,调用 UART_Write () 发送数据,用 UART_Read () 接收,可开启中断实现异步通信。主函数初始化后,即可通过 UART 进行数据交互。
樱花树维纳斯 发表于 2025-11-17 14:38 | 显示全部楼层
在 MCC 中用 ATMEGA4809 的 UART:打开 MCC,添加 UART 模块,配置波特率、数据位、校验位等参数;勾选 “Enable Transmit”“Enable Receive”,映射引脚;生成代码后,调用 UART_Write () 发送数据,UART_Read () 接收数据,可开启中断用 UART_RxCompleteCallback () 处理接收,无需手动配置寄存器,便捷高效。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:如果你觉得我的分享或者答复还可以,请给我点赞,谢谢。

2058

主题

16431

帖子

222

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