欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: STM32如何主動串口發送數據 [打印本頁]

作者: luo6824791    時間: 2018-9-24 16:24
標題: STM32如何主動串口發送數據
看了好多串口通信的程序,都是串口接收數據后進入中斷然后發送,我不要接收數據這部分啊,小白求一個主動一直發送自定義的數據給串口程序,前面給的程序自己改總沒有用


作者: 999994    時間: 2018-9-24 17:47
stm32看你是用什么的歷程,如果是正點原子的話,本來串口一就可以通過快速把數據存入BUF中發送出去,不用等接受到數據,下面附上在其他串口都可以使用的發送函數,STM32f103 f409標準庫通用的  void USART3_IRQHandler(void) {         u8 res;                       if(USART_GetITStatus(USART3, USART_IT_RXNE) != RESET)//接收到數據         {                          res =USART_ReceiveData(USART3);                                  gizPutData(&res, 1);//數據寫入到緩沖區         }                                  }       void Usart_SendByte( USART_TypeDef * pUSARTx, uint8_t ch) {         /* 發送一個字節數據到USART */         USART_SendData(pUSARTx,ch);                          /* 等待發送數據寄存器為空 */         while (USART_GetFlagStatus(pUSARTx, USART_FLAG_TXE) == RESET);         }     //初始化IO 串口3 //pclk1:PCLK1時鐘頻率(Mhz) //bound:波特率           void usart3_init(u32 bound) {            NVIC_InitTypeDef NVIC_InitStructure;         GPIO_InitTypeDef GPIO_InitStructure;         USART_InitTypeDef USART_InitStructure;          RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);                               //GPIOB時鐘         RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART3,ENABLE);                          //串口3時鐘使能           USART_DeInit(USART3);  //復位串口3         //USART3_TX   PB10     GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10;                                     //PB10     GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;     GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;                                       //復用推挽輸出     GPIO_Init(GPIOB, &GPIO_InitStructure);                                         //初始化PB10         //USART3_RX          PB11     GPIO_InitStructure.GPIO_Pin = GPIO_Pin_11;     GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;                          //浮空輸入     GPIO_Init(GPIOB, &GPIO_InitStructure);                                         //初始化PB11                  USART_InitStructure.USART_BaudRate = bound;                                    //波特率一般設置為9600;         USART_InitStructure.USART_WordLength = USART_WordLength_8b;                    //字長為8位數據格式         USART_InitStructure.USART_StopBits = USART_StopBits_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(USART3, &USART_InitStructure);       //初始化串口3             USART_Cmd(USART3, ENABLE);                      //使能串口                   //使能接收中斷     USART_ITConfig(USART3, USART_IT_RXNE, ENABLE);  //開啟中斷                     //設置中斷優先級         NVIC_InitStructure.NVIC_IRQChannel = USART3_IRQn;         NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=2 ;//搶占優先級3         NVIC_InitStructure.NVIC_IRQChannelSubPriority = 3;                //子優先級3         NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;                        //IRQ通道使能         NVIC_Init(&NVIC_InitStructure);        //根據指定的參數初始化VIC寄存器          }   
作者: 19231    時間: 2018-9-25 10:56
調用串口發送函數,放在主循環里

USART1發.rar

2.85 MB, 下載次數: 155






歡迎光臨 (http://m.raoushi.com/bbs/) Powered by Discuz! X3.1