OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 7467|回复: 14

stm32f103c8t6串口usart1实验,编译通过,下载到板子上串口调试助手没动静

[复制链接]

16

主题

78

帖子

0

精华

初级会员

Rank: 2

积分
81
金钱
81
注册时间
2016-12-19
在线时间
50 小时
发表于 2017-1-5 13:56:05 | 显示全部楼层 |阅读模式
5金钱
本帖最后由 lsy3500 于 2017-1-5 14:02 编辑

各位大大好,有个问题,我用的是stm32f103c8t6,从网上下载了一个 stm32f103c8t6 使用 USART1 串口打印测试程序(重定向printf函数),检查参数设置无误后编译通过,下载到板子上以后,串口调试助手却怎么也没反应,难道是硬件的问题?只是硬件问题一般比较少见,所以先跪求各位大大帮我看看软件是不是还有什么问题。这是我下载的部分主要程序,附件是源代码,跪求各位大大帮我看看非常感谢:
[mw_shl_code=c,true]int main(void)
{
/* 系统时钟设置为 72M */
SystemInit();

/* USART1 config 115200 8-N-1 */
USART1_Config();

printf("\r\n *********This is a printf demo********\r\n");

printf("\r\n * This is a USART1_printf demo *\r\n");

USART1_printf(USART1, "\r\n * -------------------- *\r\n");

USART1_printf(USART1, "\r\n * STM32F103C8T6 Development Board *\r\n");
USART1_printf(USART1, "\r\n * ----------------------------------- *\r\n");
USART1_printf(USART1, "\r\n  ---------------------------------------\r\n");        

while (1)
{
;
}
}[/mw_shl_code]

[mw_shl_code=c,true]void USART1_Config(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
USART_InitTypeDef USART_InitStructure;

/* config USART1 clock */
RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1 | RCC_APB2Periph_GPIOA, ENABLE);

/* USART1 GPIO config */
/* Configure USART1 Tx (PA.09) as alternate function push-pull */
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;        //íÆíìêä3ö
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOA, &GPIO_InitStructure);
/* Configure USART1 Rx (PA.10) as input floating */
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;        //¸¡¿Õêäèë
GPIO_Init(GPIOA, &GPIO_InitStructure);

/* USART1 mode config */
USART_InitStructure.USART_BaudRate = 115200;
USART_InitStructure.USART_WordLength = USART_WordLength_8b;
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_Rx | USART_Mode_Tx;
USART_Init(USART1, &USART_InitStructure);
USART_Cmd(USART1, ENABLE);
[/mw_shl_code]






STM32F103C8T6配套程序源码-串口1通信实验.zip

1.32 MB, 下载次数: 2502

最佳答案

查看完整内容[请看2#楼]

讲道理 软件应该没问题,我软件仿真了下可以打印;检查下硬件管脚有没有配错。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

0

主题

13

帖子

0

精华

初级会员

Rank: 2

积分
52
金钱
52
注册时间
2016-12-22
在线时间
8 小时
发表于 2017-1-5 13:56:06 | 显示全部楼层
讲道理 软件应该没问题,我软件仿真了下可以打印;检查下硬件管脚有没有配错。
回复

使用道具 举报

16

主题

78

帖子

0

精华

初级会员

Rank: 2

积分
81
金钱
81
注册时间
2016-12-19
在线时间
50 小时
 楼主| 发表于 2017-1-5 15:40:45 | 显示全部楼层
我把程序改成了这样,while中的循环就是很简单的循环往串口usart1写单个字符了,可是串口调试助手还是没反应。所以初步怀疑是硬件的问题,不知道我的怀疑正确不?[mw_shl_code=c,true]int main(void)
{  
    /* 系统时钟设置为 72M */      
    SystemInit();

    /* USART1 config 115200 8-N-1 */
    USART1_Config();

    while(1) {
        USART_SendData(USART1, 0x41);    //大写字母A
        Delay(3000);   
        USART_SendData(USART1, 0x0a);    //换行
    }
}

/********************/[/mw_shl_code]

[mw_shl_code=c,true]void USART1_Config(void)
{
    GPIO_InitTypeDef GPIO_InitStructure;
    USART_InitTypeDef USART_InitStructure;

    /* config USART1 clock */
    RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1 | RCC_APB2Periph_GPIOA, ENABLE);
       
    RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO | RCC_APB2Periph_GPIOA , ENABLE);
    GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable,ENABLE);

    /* USART1 GPIO config */
    /* Configure USART1 Tx (PA.09) as alternate function push-pull */
    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9;
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;        //íÆíìêä3ö
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
    GPIO_Init(GPIOA, &GPIO_InitStructure);   
    /* Configure USART1 Rx (PA.10) as input floating */
    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10;
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;        //¸¡¿Õêäèë
    GPIO_Init(GPIOA, &GPIO_InitStructure);
       
    /* USART1 mode config */
    USART_InitStructure.USART_BaudRate = 115200;
    USART_InitStructure.USART_WordLength = USART_WordLength_8b;
    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_Rx | USART_Mode_Tx;
    USART_Init(USART1, &USART_InitStructure);
    USART_Cmd(USART1, ENABLE);
}[/mw_shl_code]


回复

使用道具 举报

16

主题

78

帖子

0

精华

初级会员

Rank: 2

积分
81
金钱
81
注册时间
2016-12-19
在线时间
50 小时
 楼主| 发表于 2017-1-5 15:43:33 | 显示全部楼层
我顶,跪求围观啊~~
回复

使用道具 举报

21

主题

387

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1043
金钱
1043
注册时间
2016-9-8
在线时间
213 小时
发表于 2017-1-5 16:08:42 | 显示全部楼层
拿原子的程序就行,把IO改下,
回复

使用道具 举报

21

主题

387

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1043
金钱
1043
注册时间
2016-9-8
在线时间
213 小时
发表于 2017-1-5 16:10:47 | 显示全部楼层
shop60994719.taobao.com
回复

使用道具 举报

16

主题

78

帖子

0

精华

初级会员

Rank: 2

积分
81
金钱
81
注册时间
2016-12-19
在线时间
50 小时
 楼主| 发表于 2017-1-5 17:00:16 | 显示全部楼层
密耳 发表于 2017-1-5 16:10
再不行,上这个。。。https://item.taobao.com/item.htm?spm=a1z10.5-c.w4002-1255750299.25.qsz1OK&id=5 ...

这是啥啊?
主要是我刚入行stm32,比较菜,串口按说很简单啊,就这几句话而已,可是串口助手还是没反应,不知道是我调试不对还是真的是硬件的问题,现在不知道该怎么排除了,啊,好心塞。。
回复

使用道具 举报

16

主题

78

帖子

0

精华

初级会员

Rank: 2

积分
81
金钱
81
注册时间
2016-12-19
在线时间
50 小时
 楼主| 发表于 2017-1-5 17:02:53 | 显示全部楼层
密耳 发表于 2017-1-5 16:08
拿原子的程序就行,把IO改下,

我找找看,上午没找到原子哥的程序,非常感谢,我找找看。
回复

使用道具 举报

3

主题

11

帖子

0

精华

新手上路

积分
42
金钱
42
注册时间
2016-12-27
在线时间
8 小时
发表于 2017-1-5 17:10:04 | 显示全部楼层
你这个,点击魔术棒,里面有个微库,勾选就可以了  Target- use MicroLIB
回复

使用道具 举报

16

主题

78

帖子

0

精华

初级会员

Rank: 2

积分
81
金钱
81
注册时间
2016-12-19
在线时间
50 小时
 楼主| 发表于 2017-1-5 17:25:05 | 显示全部楼层
忘川河 发表于 2017-1-5 17:10
你这个,点击魔术棒,里面有个微库,勾选就可以了  Target- use MicroLIB

勾选了,还是不行,程序下载进去以后,串口就没有反应。我后来加了个LED测,程序确实在跑,只是串口助手怎么都没反应。


A(H511~AWZ{L0X7SQH]VJUH.png
回复

使用道具 举报

16

主题

78

帖子

0

精华

初级会员

Rank: 2

积分
81
金钱
81
注册时间
2016-12-19
在线时间
50 小时
 楼主| 发表于 2017-1-5 17:26:57 | 显示全部楼层
密耳 发表于 2017-1-5 16:08
拿原子的程序就行,把IO改下,

原来我上午第一个下载的就是原子哥的程序,下载下来以后,改了参数,还有下载设置也改过来了,下进去没反应。
回复

使用道具 举报

16

主题

78

帖子

0

精华

初级会员

Rank: 2

积分
81
金钱
81
注册时间
2016-12-19
在线时间
50 小时
 楼主| 发表于 2017-1-5 17:27:30 | 显示全部楼层
@正点原子,原子哥,求助
回复

使用道具 举报

16

主题

78

帖子

0

精华

初级会员

Rank: 2

积分
81
金钱
81
注册时间
2016-12-19
在线时间
50 小时
 楼主| 发表于 2017-1-5 18:12:21 | 显示全部楼层
忘川河 发表于 2017-1-5 17:10
你这个,点击魔术棒,里面有个微库,勾选就可以了  Target- use MicroLIB

通了,确实是硬件的问题,用的开关电源供电,供电就只有5V,可是最开始进电的地方有个稳压模块,结果板子上电压就只有4V多一点了,结果导致电压不够,所以看不到效果。谢谢哈。

只是又有个新问题了,,,程序还是那样的程序,发着发着就开始乱码了,波特率调低,发送速度调低,一开始好着,慢慢的就开始乱码了。不知道是什么原因,正在找原因。
回复

使用道具 举报

16

主题

78

帖子

0

精华

初级会员

Rank: 2

积分
81
金钱
81
注册时间
2016-12-19
在线时间
50 小时
 楼主| 发表于 2017-1-5 18:14:58 | 显示全部楼层
亮仔同学 发表于 2017-1-5 17:39
讲道理 软件应该没问题,我软件仿真了下可以打印;检查下硬件管脚有没有配错。

恩恩,找领导了,不会用示波器。。。领导用示波器检查了下,一会儿就发现原因了,电压不足导致的,后来用了一个直流稳压电源搞定了。~~~谢谢哈,看来我也要学习示波器了,不会的东西真是多。
回复

使用道具 举报

4

主题

26

帖子

0

精华

初级会员

Rank: 2

积分
79
金钱
79
注册时间
2016-10-22
在线时间
22 小时
发表于 2017-2-26 21:45:17 | 显示全部楼层
你好,用直流5V供电的同时用USB线连着电脑不会把板子烧了吗?
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-9-22 16:16

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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