异物进入气管什么症状| 腚什么意思| 游车河什么意思| 电视剧靠什么赚钱| 幸灾乐祸什么意思| 碘伏过敏是什么症状| 什么蘑菇有毒| 脚上起水泡是什么原因| 吃葱有什么好处和坏处| 未见明显胚芽是什么意思| bmi什么意思| 胸口疼应该挂什么科| 晚上尿多是什么原因| 女生适合养什么狗| 克服是什么意思| 女性支原体感染有什么症状| 98年一月属什么生肖| 糖醋里脊是什么菜系| 蟑螂喜欢什么环境| 散瞳快散和慢散有什么区别| 徐娘半老是什么意思| 女性绝经期在什么年龄是正常的| 喝水就打嗝是什么原因| 岁月如歌什么意思| 发烧38度吃什么药| 身份证复印件是什么| 宝宝吐奶是什么原因| 用眼过度用什么眼药水| 经常不吃晚饭对身体有什么影响| 纷至沓来是什么意思| 真菌怕什么| 容易中暑是什么原因| 同房后出血什么原因| 臭氧是什么| 足本是什么意思| 有冬瓜西瓜南瓜为什么没有北瓜| 腊排骨炖什么好吃| 梦见别人怀孕是什么意思| 左胸下面是什么部位| 欲哭无泪什么意思| 男大女6岁有什么说法| 腹部疼挂什么科| 滴虫性阴炎有什么症状表现| 画五行属什么| 脑缺血有什么症状| 什么的鸽子| 5点至7点是什么时辰| 毫无保留什么意思| 做梦梦到蛆是什么意思| 芥末是什么植物做的| 西瓜有什么功效和作用| 春天都有什么花开| 渐冻症是什么| 藜麦是什么| 降血糖喝什么茶好| 什么是像素| 教育局局长是什么级别| 外阴又疼又痒用什么药| 为什么脚会有酸臭味| 睡觉总是做梦是什么原因| 羟苯乙酯是什么| 肠癌是什么症状| 卡拉胶是什么| 平日是什么意思| 鼠入牛角是什么动物| 砭石是什么东西| 男马配什么属相最好| 烂仔是什么意思| 界代表什么生肖| 怜香惜玉是什么意思| 恢弘是什么意思| 东北方五行属什么| 包饺子是什么意思| 起义是什么意思| 小孩咳嗽是什么原因引起的| 肾精亏虚是什么意思| 阴道口瘙痒是什么原因| 渣渣辉什么意思| 的五行属什么| 地龙是什么| 孕囊小是什么原因| 巨蟹和什么星座最配对| 女人吃什么补元气最快| 手足口吃什么药| 朝鲜为什么那么落后| 游走是什么意思| 端午节喝什么酒| 血红蛋白是什么| 包馄饨用猪肉什么部位| 陪伴是最长情的告白下一句是什么| 中耳炎吃什么药效果比较好| 无名指戴戒指代表什么| 灰指甲是什么样子的| 北瓜是什么| 梦见摘西红柿是什么意思| 高利贷是什么意思| 维生素b4又叫什么| 什么时间容易受孕| 辱骂是什么意思| 猫代表什么数字| porsche是什么牌子的车| 嘴唇下面长痘痘是什么原因| 占卜什么意思| 雪梨百合炖冰糖有什么功效| 11.9是什么星座| 喉软骨发育不良有什么症状| 老是掉头发什么原因| 喝蜂蜜水有什么好处| 女性尿路感染有什么症状| 什么火没有烟| 广州地铁什么时候停运| 如法炮制是什么意思| 炒鱿鱼是什么意思| 草长莺飞是什么生肖| 脉弦是什么意思| yk是什么意思| 胎儿窘迫什么意思| 流局是什么意思| 淋巴结肿大吃什么药消肿效果好| 傻瓜是什么意思| 贫血吃什么药最快| 总胆红素偏高有什么危害| 18k金是什么金| 一什么声音| 吃了火龙果不能吃什么| honor是什么牌子手机| 嚼舌根是什么意思| 老是放臭屁是什么原因| 胃胀呕吐是什么原因| 夹腿综合症是什么| 女生的胸长什么样子| 月子里头疼是什么原因| 3月26日是什么节日| 王维被称为什么| 玳瑁色是什么颜色| 丘疹性荨麻疹用什么药| ctc是什么| 沙特是什么教派| 什么的笑| 弥是什么意思| 眼底出血是什么原因造成的| 通风什么征兆| 淋巴滤泡增生是什么意思严重吗| 口字五行属什么| 战战兢兢的意思是什么| 白头发吃什么维生素| lil是什么意思| 梦见走错路是什么意思| 气血不足吃什么中成药| 三竖一横念什么| 咳嗽吐白痰是什么病| 什么飞船| 不惑之年什么意思| 葫芦代表什么生肖| 梦见大火烧房子是什么意思| 眼压高有什么症状和危害| 电磁炉用什么锅最好| 恒源祥属于什么档次| w3是什么意思| 七夕节是什么意思| 南瓜子有什么功效| 这什么意思| 潜能什么意思| 宫颈切片检查是什么| 菊花有什么作用| 鬼冢虎为什么很少人穿| 吃鹅蛋有什么好处和坏处| 什么人会得免疫性脑炎| 曦是什么意思| 实操是什么意思| 黄瓜有什么营养| 吃什么补蛋白质| 魑魅魍魉是什么意思| 凌晨3点多是什么时辰| 血脂高看什么科| 腿酸胀是什么原因| 疝气是什么病| 苦瓜炒什么好吃| 周海媚什么病| 勃起是什么| 白蛋白偏低是什么意思| 勃勃生机是什么意思| 二聚体是什么| 吲达帕胺片是什么药| 甲钴胺片主要治什么病| 梦见很多蛇是什么征兆| 什么面朝天| 治妇科炎症用什么药好| 甲沟炎用什么药| 吃六味地黄丸有什么好处| 13年属什么| 鱼香肉丝为什么叫鱼香肉丝| 膀胱癌早期是什么症状| 砂仁为什么要后下| 爱叶有什么作用和功效| 什么的妈妈| 吃鸡蛋补什么| 孵化器公司是干什么的| 禾加术念什么| 早上六七点是什么时辰| 炸鸡用什么油| 乙醇是什么东西| 玉树临风是什么生肖| 柳树代表什么生肖| pr是什么工作| 金屋藏娇是什么意思| 来褐色分泌物是什么原因| 空调不热是什么原因| 男人有霉菌是什么症状| 姐姐的女儿叫什么称呼| 乙肝两对半阳性是什么意思| 98年什么命| 胚胎和囊胚有什么区别| 深水炸弹什么意思| 格格是什么意思| 人设崩塌是什么意思| 踩指压板有什么好处| 什么动物没有天敌| 大排畸主要检查什么| 银杯子喝水有什么好处与坏处| 托孤是什么意思| 3月14日是什么星座| 懿怎么读 什么意思| 脂肪肝用什么药| 鼻子发酸是什么原因| 山楂有什么作用| 下午2点是什么时辰| 正常白带是什么样子| 总师是什么级别| 真丝乔其纱是什么面料| 白牌车是什么身份| 叩拜是什么意思| 白头翁吃什么食物| 静脉曲张吃什么食物| 上飞机不能带什么| sco是什么意思| 前辈是什么意思| 萎缩性胃炎不能吃什么食物| 茄子炒什么好吃| 8月21日是什么星座| 毕业送老师什么礼物好| 7月14什么星座| 什么叫个性强| 巫山云雨是什么意思| 321是什么意思| 女性尿道出血是什么原因引起的| 面条鱼是什么鱼| 鱼露是什么| 82年属什么的| 殉葬是什么意思| 南京有什么好玩的景点| 红斑狼疮复发的症状是什么| 7.6是什么星座| 牙龈萎缩吃什么药见效快| 鸟飞到头上什么预兆| 做梦梦见狗是什么意思| 吃什么去黄气美白| yearcon是什么牌子| 吃什么补阳气| 做包皮手术有什么好处| 莆田系是什么意思啊| 胆汁反流是什么症状| 什么时候秋天| 头经常晕是什么原因| 百度
这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 ? 论坛首页 ? 活动中心 ? 板卡试用 ? 【换取手持数字示波器】MicrochipMPLABHarmony框架下串口调试p

共2条 1/1 1 跳转至

【换取手持数字示波器】MicrochipMPLABHarmony框架下串口调试printf输出记录

工程师
2025-08-04 22:24:09   被打赏 29 分(兑奖)     打赏
百度 1分钟后,奥斯卡挑传禁区,武磊顺势一脚凌空抽射稍稍偏出,险些破门。

本文旨在记录分享初次使用Microchip公司的MPLAB Harmony框架如何通过printf - uart来打印调试信息。

先来介绍一下本次使用的实验环境:

硬件:SAME51J20A Curiosity Nano evaluation kit   ARM Cortex-M4内核,支持两路FDCAN,多个串行通讯接口随意配置

image.png

软件:MPLAB X IDE v6.20

一、SERCOM模块简介

针对本次使用的SAME51J20A 芯片,据数据手册了解到一个“SERCOM”的概念。这个是“SERIAL COMMUNICATION INTERFACE”的简写。不同于之前接触过的芯片,这个“SERCOM”竟然可以配置成I2C或者SPI或者USART还有LIN总线等不同的用法。

33.1 概述

实例:微控制器上最多可以有八个SERCOM实例,具体数量取决于设备型号。

模式:每个SERCOM实例可以配置为以下模式之一:

I2C(Inter-Integrated Circuit):一种两线串行通信协议。

SPI(Serial Peripheral Interface):一种高速同步串行通信协议。

USART(Universal Synchronous/Asynchronous Receiver/Transmitter):一种灵活的串行通信协议,支持同步和异步模式。

专用资源:一旦SERCOM实例被配置并启用,其所有资源将专用于所选模式。

串行引擎:SERCOM外设包括:

发送器和接收器:处理数据发送和接收。

波特率发生器:生成通信所需的时钟信号。

地址匹配逻辑:在I2C模式下用于检测特定设备地址。

时钟源

可以使用内部通用时钟外部时钟

使用外部时钟时,SERCOM可以在所有睡眠模式下运行,适合低功耗应用。


33.2 特性

    可配置接口

    通过**CTRLA.MODE[2:0]**寄存器选择操作模式。

    支持的模式:

    I2C:两线串行接口。

    SMBus?:兼容系统管理总线。

    SPI:串行外设接口。

    USART:通用同步/异步收发器。

    单发送缓冲区和双接收缓冲区

    提高数据传输效率。

    波特率发生器

    支持灵活的波特率设置。

    地址匹配/掩码逻辑

    用于I2C模式下的地址识别。

    在所有睡眠模式下运行

    使用外部时钟时,SERCOM可以在所有睡眠模式下工作。

    支持DMA

    可以与DMA(直接内存访问)配合使用,提高数据传输效率。

    32位扩展

    优化系统总线利用率。


二、串口调试CDC_RX CDC_TX配置

参考开发板原理图,PB16 PB17用于SAME51J20A 芯片与调试器进行通信,并且这一组引脚的串行通信模块可以配置为SERCOM5。

image.png

打开MCC,在左侧的Device Resources -> SERCOM里面找到SERCOM5,点击+号,添加到Project Resources里面。

image.png


添加完后,点击SERCOM5,在右侧编辑参数细节,尤其是TXP, RXP等。

image.png

之后在Pin Configuaration里面,对引脚进行配置:

image.png

之后点击Generate,自动生成代码。尤其是初始化等基础代码生成的非常完善。

void SERCOM5_USART_Initialize( void )
{
    /*
     * Configures USART Clock Mode
     * Configures TXPO and RXPO
     * Configures Data Order
     * Configures Standby Mode
     * Configures Sampling rate
     * Configures IBON
     */

    SERCOM5_REGS->USART_INT.SERCOM_CTRLA = SERCOM_USART_INT_CTRLA_MODE_USART_INT_CLK | SERCOM_USART_INT_CTRLA_RXPO(0x1UL) | SERCOM_USART_INT_CTRLA_TXPO(0x0UL) | SERCOM_USART_INT_CTRLA_DORD_Msk | SERCOM_USART_INT_CTRLA_IBON_Msk | SERCOM_USART_INT_CTRLA_FORM(0x0UL) | SERCOM_USART_INT_CTRLA_SAMPR(0UL) ;

    /* Configure Baud Rate */
    SERCOM5_REGS->USART_INT.SERCOM_BAUD = (uint16_t)SERCOM_USART_INT_BAUD_BAUD(SERCOM5_USART_INT_BAUD_VALUE);

    /*
     * Configures RXEN
     * Configures TXEN
     * Configures CHSIZE
     * Configures Parity
     * Configures Stop bits
     */
    SERCOM5_REGS->USART_INT.SERCOM_CTRLB = SERCOM_USART_INT_CTRLB_CHSIZE_8_BIT | SERCOM_USART_INT_CTRLB_SBMODE_1_BIT | SERCOM_USART_INT_CTRLB_RXEN_Msk | SERCOM_USART_INT_CTRLB_TXEN_Msk;

    /* Wait for sync */
    while((SERCOM5_REGS->USART_INT.SERCOM_SYNCBUSY) != 0U)
    {
        /* Do nothing */
    }


    /* Enable the UART after the configurations */
    SERCOM5_REGS->USART_INT.SERCOM_CTRLA |= SERCOM_USART_INT_CTRLA_ENABLE_Msk;

    /* Wait for sync */
    while((SERCOM5_REGS->USART_INT.SERCOM_SYNCBUSY) != 0U)
    {
        /* Do nothing */
    }
}


在main.c里面,要手动添加如下语句使能SERCOM5模块:

SERCOM5_USART_Enable();

接下来添加简单的串口输出,打开串口助手,查看结果。

        sprintf(tempStr, "\r\nSystickDelay: LED0 PA14 Toggled. %lu", cnt++);
        SERCOM5_USART_Write(tempStr, sizeof (tempStr));

uart.gif

三、重定向printf

UART配合printf是基操,接下来介绍一下如何在MPLAB Harmony框架下重定向printf到SERCOM5,以本文为例。

首先打卡MCC,在Tools里面找到STDIO,点击+号,添加到项目中。

image.png

接下来就是“连连看”,在中间的外设框图模型中,连接STDIO模块与前文中添加的SERCOM5模块。

image.png

如此简单!点击Generate,查看代码生成结果。

image.png

到项目树里面,找打Source Files -> config -> default -> stdio,查看xc32_monitor.c,已经适配到SERCOM5模块。

image.png

注释掉之前的打印代码,添加一行printf:

#include <stdio.h>

#if 0 
        sprintf(tempStr, "\r\nSystickDelay: LED0 PA14 Toggled. %lu", cnt++);
        SERCOM5_USART_Write(tempStr, sizeof (tempStr));
        //SimpleDalay_ms(1000);
#endif
        printf("\r\nUsingPrintf_SystickDelay: LED0 PA14 Toggled. %lu", cnt++);

重新编译,下载:

Currently loaded versions:
Application version...........1.30.35 (0x01.0x1e.0x23)
Tool pack version .............1.13.715
Target voltage detected
Target device ATSAME51J20A found.
Device Revision Id  = 0x3
Device Id = 0x61810004

Calculating memory ranges for operation...

Erasing...

The following memory area(s) will be programmed:
program memory: start address = 0x0, end address = 0x1fff
configuration memory

Due to the large memory ranges on this device, only the areas of memory that have been loaded with code (via the build process or loading a hex file) will be read by default. If you wish to read custom ranges, please go to the Memories to Program property page and specify the ranges you want to read.
Programming complete


四、测试结果

printf.gif

测试结果符合预期。本文难度较小,分享出来主要是给不熟悉Microchip工具链的朋友,快速上手MCC图形化开发工具和串口输出。



管理员
2025-08-04 16:44:38     打赏
2楼

评语汇总:

1 常规操作,介绍SERCOM的知识,有详细配置过程,有关键代码,可参考;

2 介绍MPLAB Harmony 开发板的串口输出的函数,适合初学者;

3 非常详细的Microchip 配置printf的过程. 如果使用microchip的芯片需要配置的话可以参考本篇文章;

4 Microchip公司的MPLAB Harmony介绍的文章相对不多,对使用Microchip 开发的开发者熟悉其配置工具有借鉴意义;

5 这应该是硬禾学堂搞的那个microchip的调试过程贴,内容是打通串口并重定向printf函数,具有可操作性,但是还是那句话,不太建议在mcu中使用printf函数。



共2条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]
什么时候同房容易怀孕 遗精频繁是什么原因 肾不好吃什么 阿司匹林肠溶片有什么副作用 消炎药吃多了有什么副作用
腺肌症是什么意思 为什么饿了会想吐 什么网名好听 怀孕十天左右有什么反应 日本桑是什么意思
蛔虫属于什么动物 结婚需要准备什么 胃气上逆是什么原因造成的 病逝是什么意思 全身瘙痒要警惕什么病
早上七点是什么时辰 运动后体重增加是什么原因 什么花在什么时间开 早上起床口苦口干是什么原因 五花肉炒什么配菜好吃
炖羊肉放什么调料hcv8jop3ns4r.cn 黑管是什么乐器hcv7jop5ns3r.cn 吃什么蔬菜对眼睛好hcv8jop2ns2r.cn 肿瘤最怕什么hcv9jop5ns9r.cn 稽留流产什么意思hcv9jop4ns2r.cn
阿托伐他汀钙片有什么副作用hcv9jop7ns3r.cn 青色五行属什么hcv7jop6ns7r.cn 三公经费指什么hcv8jop7ns8r.cn 水瓶座是什么象imcecn.com 什么的小莲蓬hcv9jop0ns8r.cn
农历六月十四是什么星座hcv8jop7ns4r.cn 宜家宜室什么意思hcv8jop0ns1r.cn 女的肾虚是什么原因引起的zsyouku.com 六月19是什么日子dajiketang.com 失心疯是什么意思hcv8jop4ns1r.cn
弓箭是什么时候发明的hcv9jop7ns2r.cn 可望不可求是什么意思hcv9jop3ns6r.cn 执业药师什么时候考试hcv9jop2ns8r.cn 梦见被蛇缠身是什么意思jasonfriends.com 拉拉是什么意思hcv8jop1ns6r.cn
百度