Nuvoton N76E003 UART在Keil中printf格式化输出

2025-10-02 02:44:02

1、【1】打开Keil uVision4 C51 IDE并建立好Nuvoton相应的工程。Nuvoton单片机在Keil上开发需要使用Nuvoton Keil的插件,可以到Nuvoton的官网上去下载.

【2】在已建好的工程中添加延时函数、UART1初始化函数、

UART1 prinf重定向函数、主函数。

【3】延时函数-->简单的延时 看清效果

【4】UART1初始化函数-->UART1引脚方向类型定义、波特率设置、数据位设置、奇偶校验位设置、停止位设置,本经验中使用TIM3作为UART1的波特率发生器。

【5】prinf重定向函数-->将UART1的输出重新定向到printf函数中

【6】主函数-->设置所有IO为准双向IO、初始化UART1、printf打印本次编译时间、每隔一段时间打印一次程序运行次数。

Nuvoton N76E003 UART在Keil中printf格式化输出

Nuvoton N76E003 UART在Keil中printf格式化输出

Nuvoton N76E003 UART在Keil中printf格式化输出

Nuvoton N76E003 UART在Keil中printf格式化输出

Nuvoton N76E003 UART在Keil中printf格式化输出

2、【1】简单延时函数

void Delayms(u16 i)//Delay ms

{

u16 x=0, y=0;

for(x=0; x<1000; x++)

for(y=0; y<i; y++);

}

【2】UART1初始化函数

void InitialUART1_Timer3(u32 u32Baudrate)//Initial UART1 Timer3

{

P02_Quasi_Mode; //Setting UART pin as Quasi mode for transmit

P16_Quasi_Mode; //Setting UART pin as Quasi mode for transmit

SCON_1 = 0x50;    //UART1 Mode1,REN_1=1,TI_1=1

T3CON  = 0x08;    //T3PS2=0,T3PS1=0,T3PS0=0(Prescale=1), UART1 in MODE 1

clr_BRCK;

#ifdef FOSC_160000

RH3 = HIBYTE(65536 - (1000000/u32Baudrate)-1); //16 MHz 

RL3 = LOBYTE(65536 - (1000000/u32Baudrate)-1);

#endif

#ifdef FOSC_166000

RH3 = HIBYTE(65536 - (1037500/u32Baudrate)); //16.6 MHz 

RL3 = LOBYTE(65536 - (1037500/u32Baudrate));

#endif

set_TR3;          //Trigger Timer3

TI_1 = 1; //For printf function must setting TI = 1

}

【3】UART1 prinf重定向函数

char putchar (char c)//for UART1_printf

{

while (!TI_1);//wait until transmitter ready

TI_1 = 0;

SBUF_1 = c;//output character

return (c);

}

【4】主函数

void main (void) 

{

u16 count = 0;

Set_All_GPIO_Quasi_Mode;

InitialUART1_Timer3(115200);//InitialUART1_Timer3

printf("Complie Time:%s\r\n", __TIME__);//Complie Time

while(1)

{

printf("System Runing Count: %d\r\n", count++);

Delayms(220);

}

}

3、【1】编程Nuvoton整个项目工程直到没有错误并生成.hex文件

【2】打开新塘芯片烧录软件NuMicro ICP Programming Tool选择好目标芯片8051 1T系列,连接到新塘烧录器Nu-Link,载入文件APROM选择生成.hex文件。

【3】单击右下角的选项设置,勾选擦除、烧写、验证,其他选项默认就好了,也可以根据自己的实际情况经行选择,最后确定。

【4】单击配置值-->设定选项,设置启动项为APROM启动、设置P20复位引脚功能选择、设置DCD调试模式小PWM输出转态、设置LDROM区域选择、设置欠电压设定、设置看门狗WDT时钟选择,最后确定退出。

【5】通过NuMicro ICP Programming Tool将生成的.hex下载到Nuvoton N76E003 Target目标板中,点击开始按钮知道程序下载成功

Nuvoton N76E003 UART在Keil中printf格式化输出

Nuvoton N76E003 UART在Keil中printf格式化输出

Nuvoton N76E003 UART在Keil中printf格式化输出

Nuvoton N76E003 UART在Keil中printf格式化输出

Nuvoton N76E003 UART在Keil中printf格式化输出

Nuvoton N76E003 UART在Keil中printf格式化输出

4、【1】打开串口调试助手XCOM V2.0,在电脑上的设置管理器上查看相应的     COM口,并在串口调试助手XCOM V2.0选择相应的COM号、波特率、数据位、停止位。校验位,这些值要与UART初始化的值一致,否则没有数据输出或者乱码。

【2】查看打印的信息是否正确

【3】在串口调试助手XCOM V2.0上可以看到详细数据,第一行打印出本次编译的时间,后面每隔一段时间就打印出System Runing Count的次数,与我们预期的效果一直,因此本次Nuvoton N76E003 UART在Keil中printf格式化输出成功

Nuvoton N76E003 UART在Keil中printf格式化输出

Nuvoton N76E003 UART在Keil中printf格式化输出

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢