久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 911|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

MM32SPIN05PT的串口接收只有第一個字節(jié)正常!

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:163950 發(fā)表于 2024-7-5 09:33 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
//端口初始化
void UART1_GPIO_Init(void)
{
    GPIO_InitTypeDef GPIO_InitStructure;

    RCC_AHBPeriphClockCmd(RCC_AHBENR_GPIOB, ENABLE);

    GPIO_PinAFConfig(GPIOB, GPIO_PinSource6, GPIO_AF_0);
    GPIO_PinAFConfig(GPIOB, GPIO_PinSource7, GPIO_AF_0);

    //UART1_TX   GPIOB.6
    GPIO_StructInit(&GPIO_InitStructure);
    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6;//TX
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
    GPIO_Init(GPIOB, &GPIO_InitStructure);

    //UART1_RX    GPIOB.7
    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7; //RX
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_FLOATING;
    GPIO_Init(GPIOB, &GPIO_InitStructure);
}
//--------------------------------------------------
void UART1_9Bit_Init(u32 baudrate)
{
    UART_InitTypeDef UART_InitStructure;
    NVIC_InitTypeDef NVIC_InitStructure;

    RCC_APB2PeriphClockCmd(RCC_APB2Periph_UART1, ENABLE);

    //UART1 NVIC
    NVIC_InitStructure.NVIC_IRQChannel = UART1_IRQn;
    NVIC_InitStructure.NVIC_IRQChannelPriority = 0;
    NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
    NVIC_Init(&NVIC_InitStructure);

    //Baud rate
    UART_StructInit(&UART_InitStructure);
    UART_InitStructure.BaudRate = baudrate;
    //The word length is in 8-bit data format.
    UART_InitStructure.WordLength = UART_WordLength_8b;
    UART_InitStructure.StopBits = UART_StopBits_1;
    //No even check bit.
    UART_InitStructure.Parity = UART_Parity_No;
    //No hardware data flow control.
    UART_InitStructure.HWFlowControl = UART_HWFlowControl_None;
    UART_InitStructure.Mode = UART_Mode_Rx | UART_Mode_Tx;

    UART_Init(UART1, &UART_InitStructure);
                UART_ClearITPendingBit( UART1, UART_IT_RXIEN);//上電清除一次標(biāo)志位
    UART_ITConfig(UART1, UART_IT_RXIEN, ENABLE);

    UART_Enable9bit(UART1, ENABLE);
    UART_Set9bitLevel(UART1, DISABLE);
    UART_Set9bitAutomaticToggle(UART1, ENABLE);

    // UART_Set9bitPolarity(UART1,ENABLE);

    UART_Cmd(UART1, ENABLE);

    UART1_GPIO_Init();
}
//----------------------------------------
extern u16 MODE[10];//狀態(tài)存儲
u8  USART_RX_BUF[USART_REC_LEN]={0x00}; //接收緩沖,最大USART_REC_LEN個字節(jié).末字節(jié)為換行符
u8  USART_RX_STA=0;                                  //接收狀態(tài)標(biāo)記        
void UART1_IRQHandler(void)
{
    u8 res;
    if(UART_GetITStatus(UART1, UART_IT_RXIEN)!= RESET)
                {
        //Receiving interrupts (data received must end at 0x0D 0x0a)

        //read receive data.
        res = UART_ReceiveData(UART1);        
                          
                          USART_RX_BUF[USART_RX_STA]=res ;
                  
                         if(USART_RX_STA<(USART_REC_LEN-1))
                         {
                          USART_RX_STA++;
                         }
                         else
                         {
                          USART_RX_STA=0;        
                         }
                         UART_ClearITPendingBit(UART1, UART_IT_RXIEN);
    }
}
//----------------H文件--------------------
#ifndef __UART_H
#define __UART_H
// Files includes
#include "mm32_device.h"
#include  "stdio.h"
#include "hal_conf.h"
#include "string.h"
#include "hal_uart.h"
////////////////////////////////////////////////////////////////////////////////
#define USART_REC_LEN                          10          //定義最大接收字節(jié)數(shù) 10


extern u8  USART_RX_BUF[USART_REC_LEN]; //接收緩沖,最大USART_REC_LEN個字節(jié).末字節(jié)為換行符
extern u8  USART_RX_STA;                            //接收狀態(tài)標(biāo)記        

void UART1_GPIO_Init(void);
void UART1_9Bit_Init(u32 baudrate);
void UART1_Send_Byte(u8 dat);
void UART1_Send_Group(u8* buf, u16 len);
/// @}
/// @}
/// @}
////////////////////////////////////////////////////////////////////////////////
#endif

51hei.png (39.59 KB, 下載次數(shù): 17)

發(fā)送帶0D和0A ,返回值明顯不正常

發(fā)送帶0D和0A ,返回值明顯不正常
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 在线超碰 | 亚洲视频二区 | 精品国产一级 | 国产成人免费视频 | 国产高清视频在线观看 | 91最新视频 | 亚洲精品视频播放 | 成人一区在线观看 | 毛片网在线观看 | 亚洲精品在线看 | 精品视频一区二区三区在线观看 | 精品一区二区三区91 | 日韩免费高清视频 | 91操操操| 四虎永久免费影院 | 精品国产一区二区三区久久久四川 | 欧美一区视频 | 国产精品国色综合久久 | 色av一区| 99久久精品国产一区二区三区 | 99免费在线观看视频 | 亚洲色综合 | 日本激情一区二区 | 黄色国产视频 | 韩日在线观看视频 | 天天舔天天 | 国产成人福利视频在线观看 | 一区在线视频 | 岛国午夜 | 一级做a爰片性色毛片16 | 91精品国产综合久久久久久蜜臀 | 亚洲97| 免费h视频 | 中文字幕第5页 | 在线播放一区二区三区 | 搞黄网站在线观看 | 中文字幕精品一区二区三区精品 | 国产精品国产精品 | 亚洲一区免费在线 | 99视频在线播放 | 精品av |