fengurl

    1. 附上程序: char feng[5]; u8 Res = 0; void main() {     disableInterrupts();   //关闭系统总中断   CLK_SYSCLKDivConfig(CLK_SYSCLKDiv_1); //内部时钟为1分频 = 16Mhz   UART1_Init(9600);     //调用串口初始化函数   enableInterrupts();   //使能系统总中断   //stm8l15x_it.c文件里的 函数 INTERRUPT_HANDLER(USART1_RX_IRQHandler, 28)   //等待USART1接收字符中断产生,中断服务函数在     while(1)   {             delay(5000);     printf("AT+RST");     delay(5000);   }    } void UART1_Init(u16 baudrate) {   CLK_PeripheralClockConfig(CLK_Peripheral_USART1 , ENABLE);  //使能USART1时钟   USART_Init(USART1,                //设置USART1             baudrate,               //流特率设置             USART_WordLength_8b,    //数据长度设为8位             USART_StopBits_1,       //1位停止位             USART_Parity_No,        //无校验             (USART_Mode_Rx | USART_Mode_Tx));  //设置为发送接收双模式   //使能接收中断   USART_ITConfig(USART1, USART_IT_RXNE , ENABLE);   USART_Cmd(USART1 , ENABLE);   //使能USART1模块 } INTERRUPT_HANDLER(USART1_RX_TIM5_CC_IRQHandler,28) {     /* In order to detect unexpected events during development,        it is recommended to set a breakpoint on the following instruction.     */   extern u8 Res;   extern char feng[5];   if(USART_GetITStatus(USART1,USART_IT_RXNE) != RESET)   {      USART_ClearITPendingBit(USART1,USART_IT_RXNE);   //清除中断标志位            feng[Res++] = USART_ReceiveData8(USART1);  //(USART1->DR);读取接收到的数据      if(Res == 5) Res = 0;       } }

最近访客

< 1/1 >

统计信息

已有2人来访过

  • 芯积分:--
  • 好友:--
  • 主题:1
  • 回复:1

留言

你需要登录后才可以留言 登录 | 注册


现在还没有留言