本帖最后由 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位么? |