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

还在用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扩展软件包
关注我们
st-img 微信公众号
st-img 手机版