你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32F103RE串口接收问题

[复制链接]
piaopiao123 提问时间:2011-12-23 16:35 /
请教一下,我的使用DMA方式接收,可是接收的数据有问题,如发5A,收9A;发34,收74;发44,收84;发31,收71;貌似接收到的第7位一直为1,但是发A5,收65。我的配置如下:
void DMA_Configuration(void)
{
 DMA_InitTypeDef DMA_InitStructure;
 DMA_DeInit(DMA1_Channel6); 
 DMA_InitStructure.DMA_PeripheralBaseAddr = 0x40004404;
 DMA_InitStructure.DMA_MemoryBaseAddr = (uint32_t)RxBuffer;
 DMA_InitStructure.DMA_DIR = DMA_DIR_PeripheralSRC;
 DMA_InitStructure.DMA_BufferSize = RxBufferSize;
 DMA_InitStructure.DMA_PeripheralInc = DMA_PeripheralInc_Disable;
 DMA_InitStructure.DMA_MemoryInc = DMA_MemoryInc_Enable;
 DMA_InitStructure.DMA_PeripheralDataSize = DMA_PeripheralDataSize_Byte;
 DMA_InitStructure.DMA_MemoryDataSize = DMA_MemoryDataSize_Byte;
 DMA_InitStructure.DMA_Mode = DMA_Mode_Normal;
 DMA_InitStructure.DMA_Priority = DMA_Priority_VeryHigh;
 DMA_InitStructure.DMA_M2M = DMA_M2M_Disable;
 DMA_Init(DMA1_Channel6, &DMA_InitStructure);
}
void USART_Configuration(void)
{
 USART_InitTypeDef USART_InitStructure;
 USART_DeInit(USART2);
 USART_InitStructure.USART_BaudRate = 9600;
 USART_InitStructure.USART_WordLength = USART_WordLength_8b;
 USART_InitStructure.USART_StopBits = USART_StopBits_1;
 USART_InitStructure.USART_Parity = USART_Parity_No ;
 USART_InitStructure.USART_Mode = USART_Mode_Rx;
 USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;
 USART_Init(USART2,&USART_InitStructure);
}
不知道是哪出问题了,请帮忙看看啊!
 
收藏 评论6 发布时间:2011-12-23 16:35

举报

6个回答
火雷达 回答时间:2011-12-23 21:26:18

回复:STM32F103RE串口接收问题

帮忙顶
废鱼 回答时间:2011-12-23 22:25:05

RE:STM32F103RE串口接收问题

你发送的串口波特率是多少?你可以看一下每次进入中断以后,你收到数据是多少。
piaopiao123 回答时间:2011-12-26 08:40:30

回复:STM32F103RE串口接收问题

回复第 3 楼 于2011-12-23 14:25:05发表:
你发送的串口波特率是多少?你可以看一下每次进入中断以后,你收到数据是多少。 

波特率是9600,我用的DMA接收,这样的话,怎么看收到的数据呢,请指教!
piaopiao123 回答时间:2011-12-26 08:40:53

回复:STM32F103RE串口接收问题

回复第 2 楼 于2011-12-23 13:26:18发表:
帮忙顶 

谢谢!
piaopiao123 回答时间:2011-12-26 09:35:40

回复:STM32F103RE串口接收问题

回复第 3 楼 于2011-12-23 14:25:05发表:
你发送的串口波特率是多少?你可以看一下每次进入中断以后,你收到数据是多少。 

刚刚试了试,发16进制数低四位一直没错,就是高四位出错,我把0-F都发了下,具体结果是这样的:
0A  1A  2A  3A  4A  5A  6A   7A  8A  9A  AA  BA  CA  DA  EA  FA
0A  1A  6A  7A  8A  9A   EA  FA  0A  1A  6A  7A  8A  9A   EA  FA
上面一行是实际发送的数,下面是接收到的,不知道是什么地方出问题了!
zhixiangyuhui 回答时间:2012-3-6 22:40:55

RE:STM32F103RE串口接收问题

加油~

所属标签

相似问题

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版