OpenEdv-开源电子网

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

mini板用 战舰V3 视频盘(B盘) 里的 第26讲 STM32串口寄存器库函数配置方法+手把手教你写串口通信实例的例程怎么我的串口接收...

[复制链接]

2

主题

27

帖子

0

精华

初级会员

Rank: 2

积分
67
金钱
67
注册时间
2016-9-7
在线时间
11 小时
发表于 2016-9-17 23:54:43 | 显示全部楼层 |阅读模式
1金钱
我的mini板用 战舰V3 视频盘(B盘) 里的 第26讲 STM32串口寄存器库函数配置方法+手把手教你写串口通信实例的例程怎么我的串口接收的全是乱码啊?

QQ截图20160917235600.png
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

2

主题

27

帖子

0

精华

初级会员

Rank: 2

积分
67
金钱
67
注册时间
2016-9-7
在线时间
11 小时
 楼主| 发表于 2016-9-18 00:02:39 | 显示全部楼层
回复

使用道具 举报

2

主题

27

帖子

0

精华

初级会员

Rank: 2

积分
67
金钱
67
注册时间
2016-9-7
在线时间
11 小时
 楼主| 发表于 2016-9-18 00:02:54 | 显示全部楼层
好烦啦
回复

使用道具 举报

2

主题

27

帖子

0

精华

初级会员

Rank: 2

积分
67
金钱
67
注册时间
2016-9-7
在线时间
11 小时
 楼主| 发表于 2016-9-18 00:03:08 | 显示全部楼层
好烦啊
回复

使用道具 举报

2

主题

27

帖子

0

精华

初级会员

Rank: 2

积分
67
金钱
67
注册时间
2016-9-7
在线时间
11 小时
 楼主| 发表于 2016-9-18 00:04:24 | 显示全部楼层
@正点原子  原子哥啊,我在论坛上搜了,找不到啊
回复

使用道具 举报

12

主题

336

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1576
金钱
1576
注册时间
2015-8-9
在线时间
625 小时
发表于 2016-9-18 09:55:45 | 显示全部楼层
1、时钟没配置好
2、波特率不对
3、协议问题
4、其他...
回复

使用道具 举报

2

主题

27

帖子

0

精华

初级会员

Rank: 2

积分
67
金钱
67
注册时间
2016-9-7
在线时间
11 小时
 楼主| 发表于 2016-9-18 12:37:07 | 显示全部楼层
Akatsuki_lim 发表于 2016-9-18 09:55
1、时钟没配置好
2、波特率不对
3、协议问题

都配好了,就是乱码
回复

使用道具 举报

355

主题

1476

帖子

12

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
8105
金钱
8105
注册时间
2015-10-15
在线时间
2922 小时
发表于 2016-9-18 12:40:56 | 显示全部楼层
这是你发什么收什么。代码在视频同一级目录。
那么请问,串口调试助手左下方的16进制发送 选项你勾上了,这是视频说的吗?总是哪里错了,才导致没有预期的结果发生。。。。。。。
先不管是不是这个问题,遇到一点问题,先要仔细不要慌张,这点问题,对你技术之路来说,不值一提。。。。。。。。。。

无标题.png

我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

2

主题

27

帖子

0

精华

初级会员

Rank: 2

积分
67
金钱
67
注册时间
2016-9-7
在线时间
11 小时
 楼主| 发表于 2016-9-18 15:12:54 | 显示全部楼层
openedvadmin 发表于 2016-9-18 12:40
这是你发什么收什么。代码在视频同一级目录。
那么请问,串口调试助手左下方的16进制发送 选项你勾上了, ...

钩上就是一串16进制的数,没钩上就是乱码
回复

使用道具 举报

2

主题

27

帖子

0

精华

初级会员

Rank: 2

积分
67
金钱
67
注册时间
2016-9-7
在线时间
11 小时
 楼主| 发表于 2016-9-18 15:13:30 | 显示全部楼层
openedvadmin 发表于 2016-9-18 12:40
这是你发什么收什么。代码在视频同一级目录。
那么请问,串口调试助手左下方的16进制发送 选项你勾上了, ...

我自己写了一遍还是这样,我是按照视频上的步骤写的
回复

使用道具 举报

2

主题

27

帖子

0

精华

初级会员

Rank: 2

积分
67
金钱
67
注册时间
2016-9-7
在线时间
11 小时
 楼主| 发表于 2016-9-18 15:17:18 | 显示全部楼层
openedvadmin 发表于 2016-9-18 12:40
这是你发什么收什么。代码在视频同一级目录。
那么请问,串口调试助手左下方的16进制发送 选项你勾上了, ...

不是,勾不勾都是乱码
回复

使用道具 举报

355

主题

1476

帖子

12

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
8105
金钱
8105
注册时间
2015-10-15
在线时间
2922 小时
发表于 2016-9-18 18:05:23 | 显示全部楼层
刘乞丐 发表于 2016-9-18 07:17
不是,勾不勾都是乱码

那请问我们光盘的代码呢??? 视频同一目录不是有个代码么?就是视频边写边讲后的工程
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

355

主题

1476

帖子

12

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
8105
金钱
8105
注册时间
2015-10-15
在线时间
2922 小时
发表于 2016-9-18 18:05:44 | 显示全部楼层
那你能不能把你的工程列出来我来对比一下看看问题?
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

2

主题

27

帖子

0

精华

初级会员

Rank: 2

积分
67
金钱
67
注册时间
2016-9-7
在线时间
11 小时
 楼主| 发表于 2016-9-20 00:18:39 | 显示全部楼层
openedvadmin 发表于 2016-9-18 18:05
那请问我们光盘的代码呢??? 视频同一目录不是有个代码么?就是视频边写边讲后的工程

也是乱码
回复

使用道具 举报

2

主题

27

帖子

0

精华

初级会员

Rank: 2

积分
67
金钱
67
注册时间
2016-9-7
在线时间
11 小时
 楼主| 发表于 2016-9-20 00:19:25 | 显示全部楼层
openedvadmin 发表于 2016-9-18 18:05
那你能不能把你的工程列出来我来对比一下看看问题?

#include "stm32f10x.h"
#include "delay.h"

void my_usart1_init(void)
{
        GPIO_InitTypeDef GPIO_InitStruct;
        USART_InitTypeDef  USART_InitStruct;
        NVIC_InitTypeDef  NVIC_InitStruct;
       
  RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1,ENABLE);
       
       
        GPIO_InitStruct.GPIO_Mode=GPIO_Mode_IN_FLOATING;
        GPIO_InitStruct.GPIO_Pin=GPIO_Pin_9;
        GPIO_InitStruct.GPIO_Speed=GPIO_Speed_10MHz;
        GPIO_Init(GPIOA,&GPIO_InitStruct);
       
        GPIO_InitStruct.GPIO_Mode=GPIO_Mode_AF_PP;
        GPIO_InitStruct.GPIO_Pin=GPIO_Pin_10;
        GPIO_InitStruct.GPIO_Speed=GPIO_Speed_10MHz;
        GPIO_Init(GPIOA,&GPIO_InitStruct);
       
        USART_InitStruct.USART_BaudRate=115200;
        USART_InitStruct.USART_HardwareFlowControl=USART_HardwareFlowControl_None;
        USART_InitStruct.USART_Mode=USART_Mode_Rx|USART_Mode_Tx;
        USART_InitStruct.USART_Parity=USART_Parity_No;
        USART_InitStruct.USART_StopBits=USART_StopBits_1;
        USART_InitStruct.USART_WordLength=USART_WordLength_8b;
        USART_Init(USART1,&USART_InitStruct);
       
       
        USART_ITConfig(USART1,USART_IT_RXNE,ENABLE);
       
        NVIC_InitStruct.NVIC_IRQChannel=USART1_IRQn;
        NVIC_InitStruct.NVIC_IRQChannelCmd=ENABLE;
        NVIC_InitStruct.NVIC_IRQChannelPreemptionPriority=1;
        NVIC_InitStruct.NVIC_IRQChannelSubPriority=1;
        NVIC_Init(&NVIC_InitStruct);

        USART_Cmd(USART1,ENABLE);
       
       
}

void USARTx_IRQHandler(void)
{
        u8 res;
  if(USART_GetITStatus(USART1,USART_IT_RXNE))
        {
           res=USART_ReceiveData(USART1);
                 delay_ms(10);
                 USART_SendData(USART1,res);
               
        }
}

int main(void)
{       
         NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
   my_usart1_init();
         delay_init();
         while(1);
         
}
回复

使用道具 举报

2

主题

27

帖子

0

精华

初级会员

Rank: 2

积分
67
金钱
67
注册时间
2016-9-7
在线时间
11 小时
 楼主| 发表于 2016-9-20 00:20:21 | 显示全部楼层
openedvadmin 发表于 2016-9-18 18:05
那你能不能把你的工程列出来我来对比一下看看问题?

#include "stm32f10x.h"


void usart_init()
{
        GPIO_InitTypeDef GPIO_InitStrue;
        USART_InitTypeDef USART_InitStrue;
        NVIC_InitTypeDef NVIC_InitStrue;
       
  RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);  //串口时钟使能,GPIO时钟使能
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1,ENABLE);
        //GPIO_Pin_9和GPIO_Pin_10端口复用
        GPIO_InitStrue.GPIO_Mode=GPIO_Mode_AF_PP;
        GPIO_InitStrue.GPIO_Pin=GPIO_Pin_9;
        GPIO_InitStrue.GPIO_Speed=GPIO_Speed_10MHz;
        GPIO_Init(GPIOA,&GPIO_InitStrue);
       
        GPIO_InitStrue.GPIO_Mode=GPIO_Mode_IN_FLOATING;
        GPIO_InitStrue.GPIO_Pin=GPIO_Pin_10;
        GPIO_InitStrue.GPIO_Speed=GPIO_Speed_10MHz;
        GPIO_Init(GPIOA,&GPIO_InitStrue);
        //串口初始化
        USART_InitStrue.USART_BaudRate=115200;  //波特率设置
        USART_InitStrue.USART_HardwareFlowControl=USART_HardwareFlowControl_None; //硬件流控制没有使用
        USART_InitStrue.USART_Mode=USART_Mode_Tx|USART_Mode_Rx;   //发送接收或者都使能(模式)
        USART_InitStrue.USART_Parity=USART_Parity_No;  //奇偶效验
        USART_InitStrue.USART_StopBits=USART_StopBits_1;  //停止位入口参数 设置为一位停止位
        USART_InitStrue.USART_WordLength=USART_WordLength_8b;  //字长,因为没有级偶校验所以是8位
        USART_Init(USART1,&USART_InitStrue);
       
        USART_Cmd(USART1,ENABLE); //串口使能,不使用串口中断的话到这里就完了
       
        USART_ITConfig(USART1,USART_IT_RXNE,ENABLE);  //接收使能开启
       
        NVIC_InitStrue.NVIC_IRQChannel=USART1_IRQn;
        NVIC_InitStrue.NVIC_IRQChannelCmd=ENABLE;
        NVIC_InitStrue.NVIC_IRQChannelPreemptionPriority=1;
        NVIC_InitStrue.NVIC_IRQChannelSubPriority=1;
  NVIC_Init(&NVIC_InitStrue);   //中断函数
       
}

void USART1_IRQHandler(void)  //串口中断服务程序
{
  u8 res;
        if(USART_GetITStatus(USART1,USART_IT_RXNE))
        {
          res= USART_ReceiveData(USART1);
    USART_SendData(USART1,res);
        }
}

int main(void)
{       
    NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
          usart_init();
         
          while(1);
}
回复

使用道具 举报

3

主题

39

帖子

0

精华

初级会员

Rank: 2

积分
197
金钱
197
注册时间
2016-6-22
在线时间
56 小时
发表于 2016-9-20 09:43:07 | 显示全部楼层
直接下载原子的程序用会不会乱码?
回复

使用道具 举报

355

主题

1476

帖子

12

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
8105
金钱
8105
注册时间
2015-10-15
在线时间
2922 小时
发表于 2016-9-20 11:22:36 | 显示全部楼层
无标题.png

直接下载到mini板子,没有发现任何问题。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

355

主题

1476

帖子

12

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
8105
金钱
8105
注册时间
2015-10-15
在线时间
2922 小时
发表于 2016-9-20 11:23:17 | 显示全部楼层
右边中间的DTR怎么又勾上了呢???
麻烦仔细检查一下吧,,,
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

2

主题

27

帖子

0

精华

初级会员

Rank: 2

积分
67
金钱
67
注册时间
2016-9-7
在线时间
11 小时
 楼主| 发表于 2016-9-21 10:27:09 | 显示全部楼层
openedvadmin 发表于 2016-9-20 11:22
直接下载到mini板子,没有发现任何问题。

我回去再试一下,现在在机房
回复

使用道具 举报

2

主题

27

帖子

0

精华

初级会员

Rank: 2

积分
67
金钱
67
注册时间
2016-9-7
在线时间
11 小时
 楼主| 发表于 2016-9-21 10:27:26 | 显示全部楼层
下一个定义 发表于 2016-9-20 09:43
直接下载原子的程序用会不会乱码?

也是乱码额
回复

使用道具 举报

2

主题

27

帖子

0

精华

初级会员

Rank: 2

积分
67
金钱
67
注册时间
2016-9-7
在线时间
11 小时
 楼主| 发表于 2016-9-21 10:36:35 | 显示全部楼层
openedvadmin 发表于 2016-9-20 11:23
右边中间的DTR怎么又勾上了呢???
麻烦仔细检查一下吧,,,

什么勾上了?  我回去再仔细检查一下
回复

使用道具 举报

0

主题

3

帖子

0

精华

新手入门

积分
48
金钱
48
注册时间
2016-9-21
在线时间
4 小时
发表于 2016-9-21 15:53:39 | 显示全部楼层
刘乞丐 发表于 2016-9-20 00:19
#include "stm32f10x.h"
#include "delay.h"

PA9--->TX---->GPIO_Mode_AF_PP
PA10--->RX--->GPIO_Mode_IN_FLOATING
你的引脚模式配置错误了
回复

使用道具 举报

2

主题

27

帖子

0

精华

初级会员

Rank: 2

积分
67
金钱
67
注册时间
2016-9-7
在线时间
11 小时
 楼主| 发表于 2016-9-21 19:31:56 | 显示全部楼层
ltm0610doing 发表于 2016-9-21 15:53
PA9--->TX---->GPIO_Mode_AF_PP
PA10--->RX--->GPIO_Mode_IN_FLOATING
你的引脚模式配置错误了

#include "stm32f10x.h"


/************************************************
ALIENTEK 战舰STM32F103开发板实验0
工程模板
注意,这是手册中的新建工程章节使用的main文件
技术支持:www.openedv.com
淘宝店铺:http://eboard.taobao.com
关注微信公众平台微信号:"正点原子",免费获取STM32资料。
广州市星翼电子科技有限公司  
作者:正点原子 @ALIENTEK
************************************************/


void My_USART1_Init(void)
{
        GPIO_InitTypeDef GPIO_InitStrue;
        USART_InitTypeDef USART_InitStrue;
        NVIC_InitTypeDef NVIC_InitStrue;
       
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);//①
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1,ENABLE);
       
        GPIO_InitStrue.GPIO_Mode=GPIO_Mode_AF_PP;
        GPIO_InitStrue.GPIO_Pin=GPIO_Pin_9;
        GPIO_InitStrue.GPIO_Speed=GPIO_Speed_10MHz;
  GPIO_Init(GPIOA,&GPIO_InitStrue);//②
       
        GPIO_InitStrue.GPIO_Mode=GPIO_Mode_IN_FLOATING;
        GPIO_InitStrue.GPIO_Pin=GPIO_Pin_10;
        GPIO_InitStrue.GPIO_Speed=GPIO_Speed_10MHz;
  GPIO_Init(GPIOA,&GPIO_InitStrue);//②
       
        USART_InitStrue.USART_BaudRate=115200;
        USART_InitStrue.USART_HardwareFlowControl=USART_HardwareFlowControl_None;
        USART_InitStrue.USART_Mode=USART_Mode_Tx|USART_Mode_Rx;
        USART_InitStrue.USART_Parity=USART_Parity_No;
        USART_InitStrue.USART_StopBits=USART_StopBits_1;
        USART_InitStrue.USART_WordLength=USART_WordLength_8b;
       
        USART_Init(USART1,&USART_InitStrue);//③
       
        USART_Cmd(USART1,ENABLE);//使能串口1
       
        USART_ITConfig(USART1,USART_IT_RXNE,ENABLE);//开启接收中断
       
        NVIC_InitStrue.NVIC_IRQChannel=USART1_IRQn;
        NVIC_InitStrue.NVIC_IRQChannelCmd=ENABLE;
        NVIC_InitStrue.NVIC_IRQChannelPreemptionPriority=1;
        NVIC_InitStrue.NVIC_IRQChannelSubPriority=1;
        NVIC_Init(&NVIC_InitStrue);
       
       
}

void USART1_IRQHandler(void)
{
        u8 res;
         if(USART_GetITStatus(USART1,USART_IT_RXNE))
{
     res= USART_ReceiveData(USART1);     
     USART_SendData(USART1,res);   
  }
}

int main(void)
{       
  NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
        My_USART1_Init();
         while(1);
         
}



我就烧写的例程,还是乱码啊
回复

使用道具 举报

2

主题

27

帖子

0

精华

初级会员

Rank: 2

积分
67
金钱
67
注册时间
2016-9-7
在线时间
11 小时
 楼主| 发表于 2016-9-21 19:33:57 | 显示全部楼层
好烦啊,@正点原子   原子哥  烧例程也是乱码,怎么检查都是乱码啊
MXBDPYP0~SV[{GB[C]XRPEJ.png
回复

使用道具 举报

2

主题

27

帖子

0

精华

初级会员

Rank: 2

积分
67
金钱
67
注册时间
2016-9-7
在线时间
11 小时
 楼主| 发表于 2016-9-21 19:34:44 | 显示全部楼层
你们说的我都看了,看我发   sv   显示就是  两个问号@正点原子
回复

使用道具 举报

2

主题

27

帖子

0

精华

初级会员

Rank: 2

积分
67
金钱
67
注册时间
2016-9-7
在线时间
11 小时
 楼主| 发表于 2016-9-21 19:35:11 | 显示全部楼层
我自己也是一脸蒙逼
回复

使用道具 举报

0

主题

3

帖子

0

精华

新手入门

积分
48
金钱
48
注册时间
2016-9-21
在线时间
4 小时
发表于 2016-9-22 14:26:47 | 显示全部楼层
刘乞丐 发表于 2016-9-21 19:33
好烦啊,@正点原子   原子哥  烧例程也是乱码,怎么检查都是乱码啊

TDR这个选项不要勾
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-29 08:04

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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