你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

还在用printf吗?来试试好东西

[复制链接]
tanic 发布时间:2018-9-20 19:08


char buffer[256];
int Ac_pf(char *format,...)
{
va_list aptr;
int ret;
va_start(aptr,format);
ret = vsprintf(buffer, format, aptr);
  va_end(aptr);
HAL_UART_Transmit(&huart3,(uint8_t*)buffer,strlen(buffer),0xffff);
  return(ret);
}

char buffer1[256];
int Ac_pf1(char *format,...)
{
va_list aptr;
int ret;
va_start(aptr,format);
ret = vsprintf(buffer1, format, aptr);
  va_end(aptr);
HAL_UART_Transmit(&huart2,(uint8_t*)buffer1,strlen(buffer1),0xffff);
  return(ret);
}

int main()
{
  Ac_pf("huart3 %s","www.stmcu.org.cn");
Ac_pf1("huart2 %s","www.stmcu.org.cn");

}
没有中文解释,自己猜功能
收藏 1 评论18 发布时间:2018-9-20 19:08

举报

18个回答
qwert00000 回答时间:2018-9-20 19:09:52
看不懂
stm1024 回答时间:2018-9-20 21:08:48
一样也是串口输出啊,不过变成了可变参数
microcraft 回答时间:2018-9-21 07:43:47
char buffer[256]; 这个是缺点,长度不灵活
toofree 回答时间:2018-9-21 09:14:58
撸主可能是想说,所有串口都可打印东西了。而用printf 的时候,只能一个串口打印。
す疯Ⅱ恒す 回答时间:2018-9-21 09:22:03
一样是串口,如果把缓冲做大一点,或者自动申请释放内存,利用DMA传输,那样才完美,又快又灵活。
zzwnb 回答时间:2018-9-21 09:30:08
好吧
Inc_brza 回答时间:2018-9-21 10:36:07
toofree 发表于 2018-9-21 09:14
撸主可能是想说,所有串口都可打印东西了。而用printf 的时候,只能一个串口打印。 ...

你猜错了,楼主的意思很明显,不用整天重映射这个那个,直接这样用就可以printf了~

评分

参与人数 1ST金币 +1 收起 理由
tanic + 1 很给力!

查看全部评分

Inc_brza 回答时间:2018-9-21 10:37:02
microcraft 发表于 2018-9-21 07:43
char buffer[256]; 这个是缺点,长度不灵活

动态分配,最灵活。
tanyopoom 回答时间:2018-9-21 15:20:13
这样吗
12下一页

所属标签

STM32团队

意法半导体微控制器和微处理器拥有广泛的产品线,包含低成本的8位单片机和基于ARM® Cortex®-M0、M0+、M3、M4、M33、M7及A7内核并具备丰富外设选择的32位微控制器及微处理器


最新内容

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版