串口发送字符串指针,串口助手乱显示码,为什么?求大神赐教

2019-07-20 03:01发布

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);
}

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。