野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 5524|回复: 2

[ucos] 求教ucos中使用printf串口输出浮点数据问题

[复制链接]
发表于 2015-6-3 14:54:44 | 显示全部楼层 |阅读模式
在ucos中使用printf();输出浮点数据出错,但是直接输出字符和int型数据在串中调试助手中可以正确输出。网上说是字节对齐问题,可是我还是不知道怎么解决。。
回复

使用道具 举报

 楼主| 发表于 2015-6-3 15:08:13 | 显示全部楼层
本帖最后由 136397089 于 2015-6-3 16:01 编辑

网上说的解决办法网址:http://m.blog.csdn.net/blog/dldw8816/38418227
2. 解决方法
我用的是IAR,通过#pragma data_alignment指定对齐字节数
#pragma data_alignment=8
OS_STK Task1_LED1_Stk[Task1_LED1_Stk_Size];
#pragma data_alignment=8
OS_STK Task2_backlight_Stk[Task2_backlight_Stk_Size];   
所以我就依葫芦画瓢,在app.c中修改代码,加入一句#pragma data_alignment=8
如下:     
  1. extern        OS_TCB        StartUp_TCB;        
  2. static  OS_TCB        LED1_TCB;        
  3. #pragma data_alignment=8
  4. static        CPU_STK        LED1_Stk[TASK_LED1_STK_SIZE];           

  5. static  OS_TCB        LED2_TCB;                                                   
  6. static        CPU_STK        LED2_Stk[TASK_LED2_STK_SIZE];                  

  7. static  OS_TCB        LED3_TCB;                                                           
  8. static        CPU_STK        LED3_Stk[TASK_LED3_STK_SIZE];   
复制代码

回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-6-3 16:07:08 | 显示全部楼层
好吧,已经解决了。代码如下,强制八字节对齐命令__align(8)。
网址http://m.blog.csdn.net/blog/u010394032/39319285
  1. #include "app.h"

  2. extern        OS_TCB        StartUp_TCB;                                       

  3. static  OS_TCB        LED1_TCB;       
  4. #pragma data_alignment=8
  5. __align(8) static        CPU_STK        LED1_Stk[TASK_LED1_STK_SIZE];          

  6. static  OS_TCB        LED2_TCB;                                                  
  7. static        CPU_STK        LED2_Stk[TASK_LED2_STK_SIZE];                  

  8. static  OS_TCB        LED3_TCB;                                                          
  9. static        CPU_STK        LED3_Stk[TASK_LED3_STK_SIZE];          
复制代码
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-5-20 01:52 , Processed in 0.045285 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表