STVD使用printf输出数据错误

发布者:美丽花朵最新更新时间:2020-02-26 来源: eefocus关键字:STVD  printf输出  数据错误 手机看文章 扫描二维码
随时随地手机看文章

使用STM8L052输出调试信息


重定向put char


#include "stdio.h"  //必不可缺少

char putchar (char c)

{

    /* Write a character to the USART */

    USART_SendData8(USART1, c);

    /* Loop until the end of transmission */

    while (USART_GetFlagStatus(USART1, USART_FLAG_TC) == RESET);

 

    return (c);

}

输出字符串都没问题。


typedef struct

{

    uint16_t time;

    uint8_t cRssi;

}SysParam;

 

SysParam Sys;//定义了一个结构体数据

 

printf("hello world!");

当我输出数据时发现不对。


printf("rssi %drn",Sys.cRssi);

调试窗显示值是12,输出是确是3073


但是


printf("rssi %drn",Sys.time);

是正确的。


查了半天感觉应该是数据类型的问题。


printf("rssi %drn",(uint16_t)Sys.cRssi);

把uint8_t转为uint16_t输出就行了。


关键字:STVD  printf输出  数据错误 引用地址:STVD使用printf输出数据错误

上一篇:STM8单片机STVD环境监视数组变量的多个元素
下一篇:记一次stm8l程序跑飞

推荐阅读最新更新时间:2024-11-08 14:59

51单片机的printf等格式输出函数
在51单片机上使用printf函数、sprintf函数要注意以下几点: 1. 无符号16位数格式符用%d或者%u,千万不能加字母“l”,否则会出错 2. 32位数据格式符必须加字母“l”,否则会出错 3. 8位数据格式符要加字母“b”,例如%bd、%bu等
[单片机]
STVD常见错误 找不到 stm8_interrupt_vector.c
#error cpstm8 stm8_interrupt_vector.c:0 can’t open stm8_interrupt_vector.c srccancan.c: Compiling srcappmain.c… cxstm8 +modsl +debug -pxp -no -pp -l -iinccommuni -iincqueue -iincpowermanage -iinclin -iinclib -iinckey -iincdrv -iincdef -iincdebug -iincconfig -iincclk -iinccan -iincapp -i C:Program FilesCOSMICCXSTM8
[单片机]
IAR STM8串口printf输出
IAR用printf输出与keil设置不太一样,首先当然先要包含头文件 stdio.h ,然后改写putchar函数 int putchar(int c) { while ((UART2_SR&0x80)==0x00); UART2_sendchar((u8)c); return (c); } 在Options中将Library Configuration改成Full 在Library Options中将Printf formatter改成Large即可。
[单片机]
STM32 上使用 printf 输出函数
如果要实现在串口 或者 LCD 上显示,必须重定义标准库函数里调用的与输出设备相关的函数。 如果使用 printf 输出到串口,需要将 fputc 里面的输出指向串口,这一过程就叫重定向。 那么如何让 STM32 使用 printf 函数呢?只需要将 fputc 里面的输 出指向 STM32 串口即可。 int fputc(int ch,FILE *p) //函数默认的,在使用 printf 函数时自动调用 { USART_SendData(USART1,(u8)ch); while(USART_GetFlagStatus(USART1,USART_FLAG_TXE)==RESET); return ch;
[单片机]
STM32 上使用 <font color='red'>printf</font> <font color='red'>输出</font>函数
STM8在STVD平台如何生成HEX文件的方法
1.工程设置中,Post-Build选项卡中,有如下设置 chex -o $(OutputPath)$(TargetSName).s19 $(OutputPath)$(TargetSName).sm8 这是生成*.s19文件的。 2.如欲生成HEX文件,设置如下: chex -fi -o $(OutputPath)$(TargetSName).hex $(OutputPath)$(TargetSName).sm8
[单片机]
STM8在<font color='red'>STVD</font>平台如何生成HEX文件的方法
点评:大数据技术应用十大错误性解读
    英国科技新闻媒体V3日前针对大数据应用,列举了10大有关神话和误区。      1、大数据是新技术     大数据是新的术语,但其海量数据分析的概念并不新。许多人,包括Teradata首席技术官StephenBrobst在内认为,对于那些刚开始认识到数据价值的用户,大数据有一些误导。Brobst表示:“大数据是一个长期项目,而不是12个月内,是24~36个月的世间情。”     2、大数据是一种商品     初次接触大数据概念,会认为它是一种特殊形式数据,独立于其他低端数据格式。但事实并非如此。     “你能买一个数据库数据吗?”Gartner杰出分析师DonaldFeinberg说,“是的,你可以买
[安防电子]
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved