通过文件指针访问串口,程序如下:
#include<stdio.h>
#include<string.h>
int main()
{
char* msg = "Detected the character 't'.\n";
FILE* fp;
char prompt = 0;
fp = fopen("/dev/uart_0","r+");
if(fp)
{
while(prompt != 'v')
{
prompt = getc(fp);
if(prompt == 't')
{
fwrite(msg,strlen(msg),1,fp);
}
}
fprintf(fp,"Closing the UART file.\n");
fclose(fp);
}
return 0;
}
功能是发送字符“t”,串口返回"Detected the character 't'。发送字符”v“,则关闭串口。
在用串口调试程序的时候,提示 open file failed。
我检查了了一下,system.h中uart的名字的确是uart_0,时钟也应该是系统时钟没错。
论坛里有很多关于uart的帖子,我都看了看,但是似乎都没有最后的解决方法,所以我还发帖问问。
也有说把uart设为stdout,stdin,这样可以解决问题么?如何设呢?
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) | Powered by Discuz! 7.0.0 |