printf 如何重定位printf()的输出设备,进行串口输出

最近用VC++6.0做一个项目,需要用串口输出数据,有字符串,有浮点型数据,类型比较多,请问如何使用printf()进行串口输出?... 最近用VC++6.0做一个项目,需要用串口输出数据,有字符串,有浮点型数据,类型比较多,请问如何使用printf()进行串口输出? 展开
 我来答
BlueWanderer
2010-05-10 · TA获得超过9210个赞
知道大有可为答主
回答量:5673
采纳率:83%
帮助的人:2096万
展开全部
类似于...

#include <stdio.h>
#include <sys/types.h>
#include <io.h>
#include <fcntl.h>

#include <windows.h>

int main()
{
int t;
FILE *fp;

HANDLE f = CreateFileW(L"\\\\.\\com1", 3, 0, 0, OPEN_EXISTING, 0, 0);

// TODO 设置串口参数

t = _open_osfhandle((intptr_t)f, _O_TEXT);

fp = _fdopen(t, "r+");

*stdout = *fp;
*stdin = *fp;
}

不过超级不建议这么干,还是老老实实ReadFile WriteFile比较好
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
L_o_o_n_i_e
2010-05-10 · TA获得超过4.2万个赞
知道大有可为答主
回答量:8507
采纳率:38%
帮助的人:5452万
展开全部
如果有设备名,可以当输出文件打开,做输出,例如linux:
fd = open( "/dev/ttyS0", O_RDWR);

用sprintf 把输出数据变成字符串,用printf一个byte一个byte输出.
printf 平时是向 stdout 和 stderr 做输出,如何把他们变到你的串口,
我不清楚,应当是硬件问题(包括设备驱动程序)和configulation(配置)问题。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式