void uart3_init(u32 pclk,u32 bound)
{
u32 temp;
temp = (pclk*1000000+bound/2)/bound;
RCC->AHB1ENR|=1<<1; //使能PORTB口时钟
RCC->APB1ENR|=1<<18; //使能串口3时钟
GPIO_Set(GPIOB,PIN10|PIN11,GPIO_MODE_AF,GPIO_OTYPE_PP,GPIO_SPEED_50M,GPIO_PUPD_PU);//PB10,PB11,复用功能,上拉输出
GPIO_AF_Set(GPIOB,10,7); //PB10,AF7
GPIO_AF_Set(GPIOB,11,7); //PB11,AF7
USART3->CR1=0;
USART3->CR1|=1<<3;//使能发送
USART3->CR1|=1<<4;//使能接收
USART3->CR1|=0<<15;//设置over8=0,16倍过采样
USART3->CR1|=0<<28;
USART3->CR1|=0<<12;
USART3->BRR|= temp;
USART3->CR1|=1<<0;
}
void usart_senddata(char* buff)
{
while(*buff!=' ')
{
USART3->TDR=*buff;
while((USART3->ISR&0x40)==0)
buff++;
}
}
void usart1_senddata(const char* buff)
{
u8 data;
while(*buff!=' ')
{
data = *buff;
USART1->TDR=*buff;
while((USART1->ISR&0x40)==0)
buff++;
}
// LED0(0);
}
void wifi_ap(void)
{
usart1_senddata("AT+CWMODE=2
");
delay_ms(20);
usart1_senddata("AT+RST
");
delay_ms(20);
usart1_senddata("AT+CWSAP=“TP_LINK8266”,“123456”,1,4
");
delay_ms(20);
LED0(0);
usart1_senddata("AT+CIPMUX=1
");
delay_ms(20);
usart1_senddata("AT+CIPSERVER=1,8086
");
delay_ms(20);
LED1(1);
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
你试试吧
一周热门 更多>