文章
博客 网店

 使用printf函数向uart打印调试信息


  Microchip为dsPIC提供了一个c语言库libpic30.a,它实现了C语言中的标准函数,printf函数的实现即在这里。在启动阶段库默认创建三个标准的文件(流)stdin,stdout,stderr,printf函数功能就是向stdout发送格式化后的数据。

  libpic30中stdout默认使用UART1作为这三个标准流的输入输出端口,具体如何读写uart是没得选的,猜测应该是查询方式,为此使用从uart1输出printf信息是不需要任何配置的,只要包含stdio.h文件并初始化好uart1即可,示例代码如下:

  #include <xc.h>
 #include <stdio.h>
  int main(void)
 {
   //初始化
   UART1_Initialize();
   printf("Hello !");
   while();
 }



如果不使用UART1,切换使用的端口,那需要包含libpic30.h文件,并在程序中将库中定义的变量
__C30_UART 值修改即可。

 #include <xc.h>
 #include <libpic30.h> 
 #include <stdio.h>
 int main(void)
 {
   __C30_UART=2;//设置UART2为标准输入输出使用端口
   //初始化
   UART2_Initialize();
   printf("Hello !");
   while();
 }


芯艺工作室    蒙ICP备06005492号
Copyright© 2004-2023 ChipArt Studio All Rights Reserved