搜索
bottom↓
回复: 7

stm32,为什么串口传回的值都是问号呢?

[复制链接]

出0入0汤圆

发表于 2012-5-6 23:28:37 | 显示全部楼层 |阅读模式
今天学习stm32f107串口部分的时候,编写了一个只发送数据的程序,但是,它返回电脑的都是“?”,这个是为什么啊?谁能帮小弟解决一下啊?,不胜感激……

源程序如下,求帮助……

#include "stm32f10x.h"
void Dis_Init ( void )                                        //四个LED的初始化,LED1,2,3,4分别接在PD2,PD3,PD4,PD7
{
        GPIO_InitTypeDef GPIO_InitStructure;
        RCC_APB2PeriphClockCmd ( RCC_APB2Periph_GPIOD, ENABLE );
        GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2 | GPIO_Pin_3 | GPIO_Pin_4 | GPIO_Pin_7;
        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
        GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz;
        GPIO_Init ( GPIOD, &GPIO_InitStructure );
}
void USART1_Init ( void )
{
        GPIO_InitTypeDef GPIO_InitStructure;
        USART_InitTypeDef USART_InitStructure;

        RCC_APB2PeriphClockCmd ( RCC_APB2Periph_GPIOA, ENABLE );    //使能GPIOA的时钟
        RCC_APB2PeriphClockCmd ( RCC_APB2Periph_AFIO, ENABLE );
        RCC_APB2PeriphClockCmd ( RCC_APB2Periph_USART1, ENABLE );   //使能串口1的时钟

        GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9;                        //PA9设置为输出
        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;                            //复用推挽输出
        GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;           //速度50MHz
        GPIO_Init ( GPIOA, &GPIO_InitStructure );

        GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10;                  //PA10设置为输入
        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;       //浮空输入
        GPIO_Init ( GPIOA, &GPIO_InitStructure );

        USART_InitStructure.USART_BaudRate = 256000;                      //设置波特率
        USART_InitStructure.USART_WordLength = USART_WordLength_8b;       //字符长度为8字节
        USART_InitStructure.USART_StopBits = USART_StopBits_1;            //有一个停止位
        USART_InitStructure.USART_Parity = USART_Parity_No;               //不进行校验
        USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;     //不用流量检测
        USART_InitStructure.USART_Mode = USART_Mode_Tx | USART_Mode_Rx;   //使用接受和发送功能

        USART_Init ( USART1, &USART_InitStructure );                                          //初始化串口1
        USART_Cmd ( USART1, ENABLE );                                                                          //使能串口1

}
void delay ( u32 count )
{
        for ( ; count != 0; count -- );
}
void printf ( u16 dat )
{
        USART_SendData ( USART1, dat );                                                                                //发送数据
        while ( USART_GetFlagStatus ( USART1, USART_FLAG_TXE ) == RESET );  //等待数据发送完毕
}
int main ( void )                                       
{
        u16 temp = 0;
        Dis_Init ();
        USART1_Init ();
        while (1)                           //死循环
        {
                GPIO_SetBits ( GPIOD, GPIO_Pin_2 );                                   //指示灯
                printf ( temp );
                temp ++;
                GPIO_ResetBits ( GPIOD, GPIO_Pin_2 );
                delay ( 0x1fffff );
        }
}

阿莫论坛20周年了!感谢大家的支持与爱护!!

曾经有一段真挚的爱情摆在我的面前,我没有珍惜,现在想起来,还好我没有珍惜……

出0入0汤圆

发表于 2012-5-7 09:02:39 | 显示全部楼层
第一次见printf这样用的.

出0入0汤圆

发表于 2012-5-7 09:17:04 | 显示全部楼层
是不是你上位机的软件选择的模式不对  啊?

出0入0汤圆

 楼主| 发表于 2012-5-7 12:18:39 | 显示全部楼层
dragon_hn 发表于 2012-5-7 09:02
第一次见printf这样用的.

自己先试试串口能不能用,随便编的……

出0入0汤圆

 楼主| 发表于 2012-5-7 12:19:13 | 显示全部楼层
anvy178 发表于 2012-5-7 09:17
是不是你上位机的软件选择的模式不对  啊?

就是波特率,串口,起止位,等等,都没问题啊!

出0入0汤圆

发表于 2012-5-7 12:21:19 | 显示全部楼层
你不会十六进制查看么?

出0入0汤圆

发表于 2013-4-12 16:18:34 | 显示全部楼层
我也遇到了同样的问题,你解决了吗?

出0入0汤圆

 楼主| 发表于 2013-4-12 17:58:16 | 显示全部楼层
pirdoll 发表于 2013-4-12 16:18
我也遇到了同样的问题,你解决了吗?

换个串口软件就好了
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-8-26 04:24

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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