STM32串口发送问题请教

[复制链接]
2221|3
 楼主| magic_yuan 发表于 2013-5-25 12:55 | 显示全部楼层 |阅读模式
本帖最后由 magic_yuan 于 2013-5-25 13:06 编辑

各位大侠,
    昨天到今天硬是没到STM32的串口搞定,郁闷到顶。使用PRINTF函数向上位机发字符倒是可以,但我想发个变量在上位机显示,死活不行(显示乱码)。代码如下:
   int main(void)
{         
    uint16_t  k=0xddf;     //定义16位无符号整型---显示“哌”---奇怪的字符
    delay_init();             //延时函数初始化      
    NVIC_Configuration();      //设置NVIC中断分组2:2位抢占优先级,2位响应优先级
    uart_init(9600);     //串口初始化为9600

    printf("\r\n---"sky"----\r\n");//--这个字符发送成功,上位机能接受到。

    USART_SendData(USART1, k);//向串口1发送数据--失败了!!!!!
    while(USART_GetFlagStatus(USART1,USART_FLAG_TC)!=SET);//等待发送结束

     while(1);
}
不知道以上代码有什么问题,分析了半天。我这是COPY原子老师书上的学习例子中的部分代码。求指教,十分感谢!
   BTW: 1,printf 只能打印字符么?找了半天没找到其原函数
            2,uint16_t  k=“a”;     //--这样定义怎么出错了,“a”,为8位,不会强制转换成16位么?
huangxz 发表于 2013-5-25 13:40 | 显示全部楼层
printf("%x\r\n",k);//-
 楼主| magic_yuan 发表于 2013-5-25 14:05 | 显示全部楼层
huangxz 发表于 2013-5-25 13:40
printf("%x\r\n",k);//-

多谢大侠,
  刚试验了下这样可以。
  BTW:这个PRINTF函数是专门针对串口的?不知道在STM32库的什么位置?我硬是没找到。
NVIC_Configuration();这个函数位置也没找到。。。。。。
huangxz 发表于 2013-5-25 14:40 | 显示全部楼层
magic_yuan 发表于 2013-5-25 14:05
多谢大侠,
  刚试验了下这样可以。
  BTW:这个PRINTF函数是专门针对串口的?不知道在STM32库的什么位置? ...

这个函数是stdio的库函数,你百度一下就知道了

评论

多谢,我查查。。。。  发表于 2013-5-25 15:34
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:发到3000帖时,生活大概完成了一种转折。

359

主题

2770

帖子

7

粉丝
快速回复 在线客服 返回列表 返回顶部