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

[复制链接]
 楼主| 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相关的库函数,方便自己根据应用修改程序配置


本帖子中包含更多资源

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

×
 楼主| 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
方便又强大。
可以把代码上传下,方便大家参考.

已补充附件
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

2049

主题

16371

帖子

221

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