本帖最后由 香如故 于 2012-11-11 12:35 编辑
呵呵,自己解决了。在程序里加了句,红色部分,
/**************************************************************************** *
名 称:void USART_Config(USART_TypeDef* USARTx,u32 baud) * 功 能:串口配置 * 入口参数:无 * 出口参数:无 * 说 明: * 调用方法:无 ****************************************************************************/
void USART_Config(USART_TypeDef* USARTx,u32 baud){
USART_InitTypeDef USART_InitStructure;
USART_StructInit(&USART_InitStructure);
USART_InitStructure.USART_BaudRate =baud; //速率
USART_InitStructure.USART_WordLength = USART_WordLength_8b; //数据位8位
USART_InitStructure.USART_StopBits = USART_StopBits_1; //停止位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(USARTx, &USART_InitStructure); //配置串口参数函数
USART_ITConfig(USARTx, USART_IT_RXNE, ENABLE); //使能接收中断
/* 使能串口 */
USART_Cmd(USARTx, ENABLE);
}
开始初始化USART_InitStructure下就可以了,但usart1开始却没有影响。usart2就有影响了,还不知道具体是哪个参数
比较了下typedef struct
{
uint32_t USART_BaudRate;
uint16_t USART_WordLength;
uint16_t USART_StopBits;
uint16_t USART_Parity;
uint16_t USART_Mode;
uint16_t USART_HardwareFlowControl;
} USART_InitTypeDef;
也没看出来,问题解决了就结贴了算了,呵呵。
|