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();
}
|
|