完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
uint8_t buf[10];
buf[0] = 33; buf[1] = 34; 结果是 buf[0] 33 buf[1] 34 buf[2] 34 有没有人碰到过这种情况,帮我看下是哪里不对 |
|
相关推荐
11个回答
|
|
环境是KEIL5,仿真器是JLINK
|
|
|
|
数组定义的时候直接赋值全0试试:uint8_t buf[10]={0};
|
|
|
|
|
|
|
|
这数组是存放在什么地方的,贴出完整的程序吧。
|
|
|
|
回复第 5 楼 于2014-08-17 15:06:36发表:
这数组是存放在什么地方的,贴出完整的程序吧。 #include "includes.h" int main (void) { uint8_t i; uint8_t buf[10] = {33,34,35,0}; /*!< At this stage the microcontroller clock setting is already configured, this is done through SystemInit() function which is called from startup file (startup_stm32f10x_xx.s) before to branch to application main. To reconfigure the default setting of SystemInit() function, refer to system_stm32f10x.c file */ i = i; i = 0; buf[0] = 33; buf[1] = 36; sprintf((char*)&buf, "!#$"); // buf = {} // buf[2] = 0; sprintf((char*)&buf, "文"); while(1) { } } /**********************ends of file*******************************************/ |
|
|
|
|
|
|
|
sprintf((char*)&buf, "!#$");这是按什么格式输出
|
|
|
|
建议仿真一下。在sprintf之前buf的值,sprintf以后buf的值。
|
|
|
|
回复第 9 楼 于2014-08-18 09:18:34发表:
建议仿真一下。在sprintf之前buf的值,sprintf以后buf的值。 仿真结果是一样的。我写的那两种赋值方式里,1跟2的位置的数据是一样的 |
|
|
|
我也遇到同样的问题,不知兄台解决没有?
|
|
|
|
100% 是没付初值的原因.
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
1412 浏览 1 评论
AD7686芯片不传输数据给STM32,但是手按住就会有数据。
1347 浏览 3 评论
2850 浏览 0 评论
如何解决MPU-9250与STM32通讯时,出现HAL_ERROR = 0x01U
1494 浏览 1 评论
hal库中i2c卡死在HAL_I2C_Master_Transmit
1927 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-2 19:51 , Processed in 2.151113 second(s), Total 93, Slave 77 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号