Dear 大侠,小弟刚学习
STM32遇到一个问题: STM32F103平台 串口1 DMA模式发送数据失败,但是DMA发送完成中断有效。中断部分的打印函数有得到执行。。。。我搞了几天了,都没搞明白问题出在哪里。请大侠帮忙看看我的代码错在哪里。
求大侠抽空帮忙扫一下代码。。。。多谢多谢
如下是我的代码
main函数部分
#include "stm32f10x.h"
#include "rcc.h"
#include "led.h"
#include "usart1.h"
extern u8 SendBuff[SENDBUFF_SIZE];
u16 i;
int main(void)
{
//
如下是串口配置函数
u8 SendBuff[SENDBUFF_SIZE];
void USART1_CFG(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
USART_InitTypeDef USART_InitStructure;
USART_ClockInitTypeDef USART_ClockInitStructure;
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOA, &GPIO_InitStructure);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
// GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOA, &GPIO_InitStructure);
USART_ClockInitStructure.USART_Clock = USART_Clock_Disable;
USART_ClockInitStructure.USART_CPOL = USART_CPOL_Low;//空闲时钟为低电平
USART_ClockInitStructure.USART_CPHA = USART_CPHA_2Edge;//时钟第二个边沿进行数据捕获
USART_ClockInitStructure.USART_LastBit = USART_LastBit_Disable;//最后一位数据的时钟脉冲不从SCLK输出
USART_ClockInit(USART1, &USART_ClockInitStructure);
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);
}
我刚入行在自学,没人指导。。。对比过网上的参考例程,整了几天还是搞不定。所有只有到论坛来求助了~~~烦请抽空帮忙看看,多谢~~~
一周热门 更多>