微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 关于想利用printf函数在12864上显示字符的困惑

关于想利用printf函数在12864上显示字符的困惑

时间:10-02 整理:3721RD 点击:
printf为打印输出函数,网上查资料有朋友说可以利用它进行液晶的操作,可是我却不知道具体怎么操作才可以,比如说要对原来 的printf函数进行改动吗?还有如果这样,是不是液晶驱动要改为串行,并且接到P3口的串行接收口?请朋友们多多指教。

printf是一个标准输出函数,你只要实现标准输出的重定向就可以了
实现方法很简单,举例printf重定向到串口输出
1、包含头文件stdio.h
2、重定义fputc函数
int fputc(int ch, FILE *f)
{
USART_SendData(USART1, (unsigned char) ch);// USART1 可以换成 USART2 等
while (!(USART1->SR & USART_FLAG_TXE));
return (ch);
}
3、实现以上两步之后,在其他文件只要包含stdio.h,就可以通过printf调用输出到串口了
如果你想输出到液晶,修改fputc函数的内容就可以了,把串口输出编程液晶输出驱动代码就可以了

fputc函数是库里自带的吧,那要在哪里重定义,还是在keil中直接编译新的?另外是否可以请前辈给我举个输出到液晶的例子,因为我是新手,什么都要自己看,很多东西没人教真的觉得很难往前走,最近我在尝试写一个三合一传感器的测试程序,想如果能像在标准C中用printf函数,那真的会带来很多方便,望兄台不吝赐教

fputc是可以重新定义的,随便一个文件内重定义都可以,但是一定要包含stdio.h
例子自己上网找,三言两语说不清楚

好好学习天天向上

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top