[PIC®/AVR®/dsPIC®产品] PIC18单片机怎样使用printf函数

[复制链接]
1968|7
 楼主| huhaomcu 发表于 2015-7-8 16:52 | 显示全部楼层 |阅读模式
我用的是PIC18单片机加C18编译器,想在程序中使用printf函数,可是不知道怎么搞,有用过的人吗???还望指教指教!!!
huakue 发表于 2015-7-9 10:22 | 显示全部楼层

#include "stdio.h"
BYTE *debug ;
sprintf(debug," %d",12.4);   
这样debug里面就是字符串了

用上了 给分哦
perry_peng 发表于 2015-7-9 12:47 | 显示全部楼层
huakue 发表于 2015-7-9 10:22
#include "stdio.h"
BYTE *debug ;
sprintf(debug," %d",12.4);   

:L
 楼主| huhaomcu 发表于 2015-7-11 10:50 | 显示全部楼层
huakue 发表于 2015-7-9 10:22
#include "stdio.h"
BYTE *debug ;
sprintf(debug," %d",12.4);   

我想用Printf函数将字符串用于串口打印出来!!!
yklstudent 发表于 2015-7-11 23:35 | 显示全部楼层
自己动手编写串口底层发送函数,然后就可以引用printf了
void putch(char data).....
 楼主| huhaomcu 发表于 2015-7-13 08:57 | 显示全部楼层
yklstudent 发表于 2015-7-11 23:35
自己动手编写串口底层发送函数,然后就可以引用printf了
void putch(char data)..... ...

我试了下,好像不行咧!!!
huakue 发表于 2015-7-13 15:00 | 显示全部楼层
huhaomcu 发表于 2015-7-11 10:50
我想用Printf函数将字符串用于串口打印出来!!!

struct __FILE
{
        int handle;

};

FILE __stdout;      
//定义_sys_exit()以避免使用半主机模式   
_sys_exit(int x)
{
        x = x;
}
//重定义fputc函数
int fputc(int ch, FILE *f)
{     
        while(USART_GetFlagStatus(USART3,USART_FLAG_TC)==RESET){};
    USART_SendData(USART3,(uint8_t)ch);  
        return ch;
}

你试试  这个是我在stm32上面用可以的
yklstudent 发表于 2015-7-13 19:42 | 显示全部楼层
本帖最后由 yklstudent 于 2015-7-14 11:40 编辑

楼主还是要多看看编译器手册,里面有介绍的
您需要登录后才可以回帖 登录 | 注册

本版积分规则

190

主题

509

帖子

3

粉丝
快速回复 在线客服 返回列表 返回顶部