测试example-uart串口功能-printf

一、环境准备

电脑系统:Windows 10 专业版 22H2

IDE:VScode

测试硬件:AG32VF407

二、测试步骤

1、测试目的

启用printf功能

2、查看原理图

串口属于外设,找到外部Pin号

如图:Tx-68        Rx-69

3、查找内部信号命名

AGRV2K 逻辑设置.pdf: (访问密码: 1666)s

上面pdf中查找 Function_Pin :

UART0_UARTRXD        UART0_UARTTXD

UART1_UARTRXD        UART1_UARTTXD

UART2_UARTRXD        UART2_UARTTXD

UART3_UARTRXD        UART3_UARTTXD

UART4_UARTRXD        UART4_UARTTXD

 有5个串口,只占用内部信号,外部引脚没有固定,因此都可以使用。按照例程一步步看吧。

另外要实现ISP功能下载,只能用UART0.

4、修改ve

SYSCLK 200
BUSCLK 100
HSECLK 8

GPIO4_1 PIN_31  # LED_D2
GPIO4_2 PIN_32  # LED_D3

UART0_UARTRXD PIN_69
UART0_UARTTXD PIN_68

5、修改platformio.ini

①logger_if = UART0

②build_flags = -DBAUD_RATE=115200

用的版本被注释了,需要取消注释,并顶格。

添加字段,-D表示为define,BAUD_RATE=115200表示波特率为115200

保存,等待环境自动生成相应文件

6、编译下载查看效果

图示内容在代码位置:

 

7、替换其他串口

将UART0替换为UART1,实现printf功能。

在上面的基础上,只需要将ve文件链接信息修改下,以及ini文件中logger_if修改下

SYSCLK 200
BUSCLK 100
HSECLK 8

GPIO4_1 PIN_31  # LED_D2
GPIO4_2 PIN_32  # LED_D3

//UART0_UARTRXD PIN_69
//UART0_UARTTXD PIN_68

UART1_UARTRXD PIN_69
UART1_UARTTXD PIN_68
# Monitor with printf through UART
[setup_monitor]
# Logger interface. Can be any internal UART. Note that the TX pin is decided by the .ve file in setup_logic section.
logger_if = UART1

 

8、不启用printf

①测试发现将ini文件中的logger_if注释掉就行,暂时发现代码内宏定义LOGGER_UART同步变为未定义状态,未找到logger_if与LOGGER_UART相关的部分代码(有找到的同学,也下面评论下哈,谢谢!)。

初始化部分无效

②也可以将ve文件中信号与引脚链接断开,有点自欺欺人吧,内部还在运行,只是没有引脚联通外部

③将所有printf注释掉,或者直接修改printf,不过printf作为基础函数,不是weak函数,修改后其他工程估计也不能用了。

四、工程资料下载

example_uart_printf.rar: (访问密码: 1666)​​​​​​​
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

枫中眸zc

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值