新手刚开始学习,用的是stm32f4discovery那块板子。看原子哥的视频,先学的串口通信,程序如下,看寄存器里赋值都使能了,但为什么就是串口不工作,数据寄存器里没有值,哪位大神指点一下。用的是b6和b7口。
GPIO_InitTypeDef GPIO_InitStruct;
USART_InitTypeDef USART_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1,ENABLE);
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOB,ENABLE);
GPIO_PinAFConfig(GPIOA,GPIO_PinSource6,GPIO_AF_USART1);
GPIO_PinAFConfig(GPIOA,GPIO_PinSource7,GPIO_AF_USART1);
GPIO_InitStruct.GPIO_Pin = GPIO_Pin_6|GPIO_Pin_7;
GPIO_InitStruct.GPIO_Mode = GPIO_Mode_AF;
GPIO_InitStruct.GPIO_OType = GPIO_OType_PP;
GPIO_InitStruct.GPIO_PuPd = GPIO_PuPd_UP;
GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOB, &GPIO_InitStruct);
USART_InitStructure.USART_BaudRate=115200;
USART_InitStructure.USART_WordLength=USART_WordLength_8b;
USART_InitStructure.USART_HardwareFlowControl=USART_HardwareFlowControl_None;
USART_InitStructure.USART_Mode=USART_Mode_Rx|USART_Mode_Tx;
USART_InitStructure.USART_Parity=USART_Parity_No;
USART_InitStructure.USART_StopBits=USART_StopBits_1;
USART_Init(USART1,&USART_InitStructure);
USART_Cmd(USART1,ENABLE);
data='a';
USART_SendData(USART1,data);
调试时SR值为0xC0,BRR值为0X313,CR1值为0X200C;data值一直不能移到DR里边去,DR=0.
顺便问一下我怎么传不了图片,是浏览器原因吗?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
哦哦,现在能发数据了,问题是b67能用,但a910却发不出来,是不是跟板子的问题。
一周热门 更多>