在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

CW32數(shù)字電壓電流表軟件教程(六):串口藍(lán)牙發(fā)送

jf_qE49KoVBr8 ? 來(lái)源:CW32生態(tài)社區(qū) ? 2024-05-21 10:36 ? 次閱讀

7.1.串口基礎(chǔ)知識(shí)

7.1.1.串口介紹

串行接口簡(jiǎn)稱(chēng)串口,也稱(chēng)串行通信接口或串行通信接口(通常指COM接口),是采用串行通信方式的擴(kuò)展接口。串行接口 (Serial Interface)是指數(shù)據(jù)一位一位地順序傳送。其特點(diǎn)是通信線路簡(jiǎn)單,只要一對(duì)傳輸線就可以實(shí)現(xiàn)雙向通信(可以直接利用電話(huà)線作為傳輸線),從而大大降低了成本,特別適用于遠(yuǎn)距離通信,但傳送速度較慢。

7.1.2.串口通信參數(shù)介紹

波特率:衡量通信速度的參數(shù),它表示每秒鐘傳送的bit的個(gè)數(shù)。

數(shù)據(jù)位:衡量通信中實(shí)際數(shù)據(jù)位的參數(shù),表示一個(gè)信息包里包含的數(shù)據(jù)位的個(gè)數(shù)。

停止位:用于表示單個(gè)信息包的最后位,典型值為1、1.5和2位。由于數(shù)據(jù)是在傳輸線上傳輸?shù)模總€(gè)設(shè)備都有自己的時(shí)鐘,很有可能在通信過(guò)程中出現(xiàn)不同步,停止位不僅僅表示傳輸?shù)慕Y(jié)束,還能提供校正時(shí)鐘同步的機(jī)會(huì)。停止位的位數(shù)越多,不同時(shí)鐘同步的容忍程度越大,但是數(shù)據(jù)傳輸率也越慢。

奇偶檢驗(yàn)位:表示一種簡(jiǎn)單的檢查錯(cuò)誤的方式。

關(guān)于更為詳細(xì)的介紹請(qǐng)搜索百度。

7.1.3.串口工作模式

串口可以工作在單工、半雙工和全雙工模式下。

單工:在通信的任意時(shí)刻,信息只能由A傳到B。

半雙工:在通信的任意時(shí)刻,信息即可由A傳到B,又能由B傳到A,但同時(shí)只能有一個(gè)方向上的傳輸存在。

全雙工:在通信的任意時(shí)刻,通信線路上存在A到B和B到A的雙向信號(hào)傳輸。

7.1.4.串口通信協(xié)議

串口在進(jìn)行通信的時(shí)候會(huì)按照數(shù)據(jù)包的形式進(jìn)行發(fā)送,幀格式如圖1-4-1所示。

e3a991f0-1710-11ef-b74b-92fbcf53809c.png

圖9-1 串口通信協(xié)議

串口通信是一位一位地傳輸,每傳輸一個(gè)字節(jié)總是以起始位開(kāi)始,以停止位結(jié)束,字符之間沒(méi)有固定的時(shí)間間隔要求。每一個(gè)字符的前面都有一位起始位(低電平),后面由8位數(shù)據(jù)位組成,如果開(kāi)啟了校驗(yàn)位,則最后一位數(shù)據(jù)位是校驗(yàn)位,最后是停止位。停止位后面是不定長(zhǎng)的空閑位,停止位和空閑位都規(guī)定為高電平。

7.2.串口藍(lán)牙接線原理圖

在數(shù)字電壓電流表上默認(rèn)使用的串口是串口2,接口為CW_UART2_TX和CW_UART2_RX。關(guān)于串口和藍(lán)牙連接原理圖如圖9-2所示。

e3d0155a-1710-11ef-b74b-92fbcf53809c.png

圖 9-2 串口藍(lán)牙接線

使用藍(lán)牙模塊KT6368將信息發(fā)送出去,只需要調(diào)用CW32的UART_2將信息傳輸至藍(lán)牙模塊即可。

7.3.串口驅(qū)動(dòng)流程

串口驅(qū)動(dòng)有以下幾個(gè)流程:配置CW32時(shí)鐘樹(shù),配置UART_2串口,調(diào)用串口打印信息。通過(guò)查看上文的CW32時(shí)鐘樹(shù)可知,串口2掛載在高級(jí)外設(shè)時(shí)鐘 PCLK上,而此前的時(shí)鐘配置已將PCLK配置成了6MHz。具體的配置函數(shù)如下:

void Uart2_Init(void)
{        
    //外設(shè)時(shí)鐘使能
    RCC_AHBPeriphClk_Enable(RCC_AHB_PERIPH_GPIOA, ENABLE);      //使能串口要用到的GPIO時(shí)鐘
    RCC_APBPeriphClk_Enable1(RCC_APB1_PERIPH_UART2, ENABLE);    //使能串口時(shí)鐘
    
    GPIO_InitTypeDef GPIO_InitStructure;                        //GPIO初始化
    GPIO_InitStructure.IT = GPIO_IT_NONE;
    GPIO_InitStructure.Pins =  GPIO_PIN_7;
    GPIO_InitStructure.Mode = GPIO_MODE_INPUT_PULLUP;
    GPIO_InitStructure.Speed = GPIO_SPEED_HIGH;
    GPIO_Init(CW_GPIOA, &GPIO_InitStructure);
    PA07_AFx_UART2RXD();
        
    GPIO_InitStructure.IT = GPIO_IT_NONE;
    GPIO_InitStructure.Pins = GPIO_PIN_6;
    GPIO_InitStructure.Mode = GPIO_MODE_OUTPUT_PP;
    GPIO_InitStructure.Speed = GPIO_SPEED_HIGH;
    GPIO_Init(CW_GPIOA, &GPIO_InitStructure);
    PA06_AFx_UART2TXD();
  
    USART_InitTypeDef USART_InitStructure;                       //串口初始化
    USART_InitStructure.USART_BaudRate = 115200;                 //設(shè)置波特率
    USART_InitStructure.USART_Over = USART_Over_16;              //串口采樣方式
    USART_InitStructure.USART_Source = USART_Source_PCLK;        //串口傳輸時(shí)鐘源采用PCLK
    USART_InitStructure.USART_UclkFreq = RCC_Sysctrl_GetPClkFreq();  //頻率為PCLK的頻率
    USART_InitStructure.USART_StartBit = USART_StartBit_FE;      //數(shù)據(jù)開(kāi)始位
    USART_InitStructure.USART_StopBits = USART_StopBits_1;       //數(shù)據(jù)停止位
    USART_InitStructure.USART_Parity = USART_Parity_No ;         //無(wú)校驗(yàn)
    USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;//無(wú)硬件流控
    USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;  //發(fā)送/接收使能
    USART_Init(CW_UART2, &USART_InitStructure);
}

在完成串口的配置后,還需要寫(xiě)一個(gè)串口發(fā)送函數(shù)

void USART_SendString(UART_TypeDef *USARTx, char *String)
{
    while (*String != '?')     //?表示沒(méi)有數(shù)據(jù)
    {
        USART_SendData_8bit(USARTx, *String);   //發(fā)送一位8bit數(shù)據(jù)
        while (USART_GetFlagStatus(USARTx, USART_FLAG_TXE) == RESET);  //發(fā)送緩沖器未空則等待
        String++;              //發(fā)送一次完成后,準(zhǔn)備發(fā)送下一位數(shù)據(jù)
    }
    while (USART_GetFlagStatus(USARTx, USART_FLAG_TXBUSY) == SET);     //發(fā)送串口狀態(tài)忙則等待  
}

由于定時(shí)器中斷為1ms,而串口發(fā)送占用的時(shí)間較長(zhǎng),所以我們1000ms使用藍(lán)牙發(fā)送一次信息,這里的寫(xiě)法并未使用定時(shí)器。

char data_reg[24];    //定義數(shù)組,用于數(shù)據(jù)打印
uint32_t Ble_Time=0;  //1000ms計(jì)時(shí)變量
while(1)              //main函數(shù)里的while循環(huán)
    {
      if(GetTick() >= (Ble_Time + 1000))     //如果此時(shí)的時(shí)間大于上一次的1000ms
        {
          Ble_Time = GetTick();              //記錄此刻時(shí)間
          Volt_Cal();                        //電壓計(jì)算
          sprintf(data_reg,"volt=%u
",Cal_Buffer);  //打印數(shù)據(jù)
          USART_SendString(CW_UART2,data_reg);         //調(diào)用串口上傳數(shù)據(jù)給藍(lán)牙
        }
    }

注意 GetTick() 函數(shù)定義在頭文件 cw32f003_systick.h 中,而此函數(shù)要使用到系統(tǒng)時(shí)鐘中斷,所以還需要配置系統(tǒng)時(shí)鐘中斷:

InitTick(48000000);                // SYSTICK 的工作頻率為48MHz,每ms中斷一次

最終可以收到藍(lán)牙傳遞的數(shù)據(jù):

e3f5dede-1710-11ef-b74b-92fbcf53809c.png

圖9-3 藍(lán)牙發(fā)送數(shù)據(jù)



審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴

原文標(biāo)題:CW32數(shù)字電壓電流表軟件教程-實(shí)驗(yàn)六:串口藍(lán)牙發(fā)送

文章出處:【微信號(hào):武漢芯源半導(dǎo)體,微信公眾號(hào):武漢芯源半導(dǎo)體】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    CW32數(shù)字電壓電流表-產(chǎn)品硬件設(shè)計(jì)要點(diǎn)

    電壓跟隨器的功能簡(jiǎn)化外圍電路 2、使用了和市面電壓電流表的同款接口(XH2.54+CH3.96),方便通用 3、最大40V的表頭供電電壓,覆蓋大部分常用電壓范圍 4、板載低成本
    的頭像 發(fā)表于 04-25 15:20 ?2411次閱讀
    <b class='flag-5'>CW32</b><b class='flag-5'>數(shù)字</b><b class='flag-5'>電壓電流表</b>-產(chǎn)品硬件設(shè)計(jì)要點(diǎn)

    CW32數(shù)字電壓電流表軟件教程(一):LED原理與驅(qū)動(dòng)基礎(chǔ)知識(shí)詳解

    LED 驅(qū)動(dòng)指的是通過(guò)穩(wěn)定的電源為 LED 提供合適的電流電壓,使其正常工作點(diǎn)亮。LED 驅(qū)動(dòng)方式主要有恒流和恒壓兩種。
    的頭像 發(fā)表于 05-06 15:33 ?2069次閱讀
    <b class='flag-5'>CW32</b><b class='flag-5'>數(shù)字</b><b class='flag-5'>電壓電流表</b><b class='flag-5'>軟件教程</b>(一):LED原理與驅(qū)動(dòng)基礎(chǔ)知識(shí)詳解

    CW32數(shù)字電壓電流表軟件教程(三):數(shù)碼管顯示數(shù)字

    數(shù)碼管的顯示原理是由多個(gè)發(fā)光的二極管共陰極或者共陽(yáng)極組成的成“8”字形的顯示器件。數(shù)碼管通過(guò)不同的組合可用來(lái)顯示數(shù)字0~9、字符A ~ F及小數(shù)點(diǎn)“.”。
    的頭像 發(fā)表于 05-14 14:20 ?4.9w次閱讀
    <b class='flag-5'>CW32</b><b class='flag-5'>數(shù)字</b><b class='flag-5'>電壓電流表</b><b class='flag-5'>軟件教程</b>(三):數(shù)碼管顯示<b class='flag-5'>數(shù)字</b>

    用JLCPCB制造數(shù)字電壓表/電流表

    用JLCPCB制造數(shù)字電壓表/電流表教程。
    發(fā)表于 04-11 14:45 ?0次下載

    智能電壓電流表的工作原理及功能

    電壓電流表,主要用于測(cè)量直流電壓電流信號(hào)、傳感器輸出的電壓電流信號(hào)等等。近年來(lái),隨著智能電子技術(shù)的發(fā)展,
    的頭像 發(fā)表于 05-06 09:38 ?3757次閱讀

    基于STM32的USB電壓電流表

    電子發(fā)燒友網(wǎng)站提供《基于STM32的USB電壓電流表.zip》資料免費(fèi)下載
    發(fā)表于 08-10 14:47 ?42次下載
    基于STM32的USB<b class='flag-5'>電壓電流表</b>

    精密DIY電壓電流表

    電子發(fā)燒友網(wǎng)站提供《精密DIY電壓電流表.zip》資料免費(fèi)下載
    發(fā)表于 10-27 14:19 ?21次下載
    精密DIY<b class='flag-5'>電壓電流表</b>

    CW32數(shù)字電壓電流表軟件教程-實(shí)驗(yàn)四:數(shù)碼管動(dòng)態(tài)顯示

    5.1.數(shù)碼管動(dòng)態(tài)顯示原理 所謂動(dòng)態(tài)掃描顯示即輪流向各位數(shù)碼管送出段碼和位碼,利用發(fā)光管的余輝和人眼視覺(jué)暫留作用,使人眼的感覺(jué)好像各位數(shù)碼管同時(shí)都在顯示。明確了原理,我們要使電壓電流表的三個(gè)位同時(shí)
    的頭像 發(fā)表于 05-31 15:23 ?884次閱讀
    <b class='flag-5'>CW32</b><b class='flag-5'>數(shù)字</b><b class='flag-5'>電壓電流表</b><b class='flag-5'>軟件教程</b>-實(shí)驗(yàn)四:數(shù)碼管動(dòng)態(tài)顯示

    CW32數(shù)字電壓電流表軟件教程-實(shí)驗(yàn)五:ADC采樣及顯示

    數(shù)字信號(hào)。由于數(shù)字信號(hào)本身不具有實(shí)際意義,僅僅表示一個(gè)相對(duì)大小。故任何一個(gè)模數(shù)轉(zhuǎn)換器都需要一個(gè)參考模擬量作為轉(zhuǎn)換的標(biāo)準(zhǔn),比較常見(jiàn)的參考標(biāo)準(zhǔn)為最大的可轉(zhuǎn)換信號(hào)大小。而輸出的數(shù)字量則表示輸入信號(hào)相對(duì)于參考信號(hào)的大小。 6.1.2.
    的頭像 發(fā)表于 05-31 15:28 ?921次閱讀
    <b class='flag-5'>CW32</b><b class='flag-5'>數(shù)字</b><b class='flag-5'>電壓電流表</b><b class='flag-5'>軟件教程</b>-實(shí)驗(yàn)五:ADC采樣及顯示

    CW32數(shù)字電壓電流表軟件教程-實(shí)驗(yàn)串口藍(lán)牙發(fā)送

    7.1.串口基礎(chǔ)知識(shí) 7.1.1.串口介紹 串行接口簡(jiǎn)稱(chēng)串口,也稱(chēng)串行通信接口或串行通信接口(通常指COM接口),是采用串行通信方式的擴(kuò)展接口。串行接口 (Serial Interface)是指數(shù)
    的頭像 發(fā)表于 05-31 15:45 ?571次閱讀
    <b class='flag-5'>CW32</b><b class='flag-5'>數(shù)字</b><b class='flag-5'>電壓電流表</b><b class='flag-5'>軟件教程</b>-實(shí)驗(yàn)<b class='flag-5'>六</b>:<b class='flag-5'>串口</b><b class='flag-5'>藍(lán)牙</b><b class='flag-5'>發(fā)送</b>

    CW32數(shù)字電壓電流表軟件教程-實(shí)驗(yàn)七:基本數(shù)據(jù)處理算法(均值濾波)

    有像素的均值,再把該均值賦予當(dāng)前像素點(diǎn)(x,y),作為處理后圖像在該點(diǎn)上的灰度g(x,y),即g(x,y)=∑f(x,y)/m,m為該模板中包含當(dāng)前像素在內(nèi)的像素總個(gè)數(shù)。這本是數(shù)字圖像處理的一種方法,但也可以用在我們數(shù)字電壓電流表
    的頭像 發(fā)表于 05-31 15:47 ?683次閱讀

    CW32數(shù)字電壓電流表軟件進(jìn)階教程-1.電壓電流同時(shí)顯示

    基于[CW32數(shù)字電壓電流表軟件教程-實(shí)驗(yàn)七:基本數(shù)據(jù)處理算法(均值濾波)],可以對(duì)電壓電流進(jìn)行同時(shí)采集顯示。
    的頭像 發(fā)表于 05-31 15:50 ?1219次閱讀
    <b class='flag-5'>CW32</b><b class='flag-5'>數(shù)字</b><b class='flag-5'>電壓電流表</b><b class='flag-5'>軟件</b>進(jìn)階教程-1.<b class='flag-5'>電壓電流</b>同時(shí)顯示

    CW32數(shù)字電壓電流表軟件進(jìn)階教程-2.電壓電流值做均值濾波

    在實(shí)驗(yàn)運(yùn)行7.1章節(jié)例程時(shí) [CW32數(shù)字電壓電流表軟件進(jìn)階教程-1.電壓電流同時(shí)顯示] ,會(huì)發(fā)現(xiàn)實(shí)時(shí)顯示更新的數(shù)據(jù)是當(dāng)前采集值,并未做數(shù)據(jù)
    的頭像 發(fā)表于 05-31 15:57 ?825次閱讀

    CW32數(shù)字電壓電流表軟件進(jìn)階教程-3.電壓電流標(biāo)定

    標(biāo)定是通過(guò)測(cè)量標(biāo)準(zhǔn)器的偏差來(lái)補(bǔ)償儀器系統(tǒng)誤差,從而改善儀器或系統(tǒng)準(zhǔn)確度、精度的操作。為了提高電壓電流表在測(cè)量時(shí)的測(cè)量精度和準(zhǔn)確度,需要對(duì)電壓電流進(jìn)行標(biāo)定校準(zhǔn)。 常見(jiàn)的標(biāo)定原理如下:假設(shè)一個(gè)采樣系統(tǒng)
    的頭像 發(fā)表于 05-31 16:20 ?1199次閱讀
    <b class='flag-5'>CW32</b><b class='flag-5'>數(shù)字</b><b class='flag-5'>電壓電流表</b><b class='flag-5'>軟件</b>進(jìn)階教程-3.<b class='flag-5'>電壓電流</b>標(biāo)定

    基于CW32F003E4P7的數(shù)字電壓電流表產(chǎn)品方案

    產(chǎn)品實(shí)物: 一、產(chǎn)品概述 數(shù)字電壓電流表,又稱(chēng)為數(shù)顯電流電壓表,是以數(shù)字形式顯示,能夠同時(shí)檢測(cè)電流電壓
    的頭像 發(fā)表于 06-25 11:55 ?1372次閱讀
    基于<b class='flag-5'>CW</b>32F003E4P7的<b class='flag-5'>數(shù)字</b><b class='flag-5'>電壓電流表</b>產(chǎn)品方案
    主站蜘蛛池模板: 欧美成人免费高清网站 | 日本一区视频在线播放 | 爱夜夜性夜夜夜夜夜夜爽 | 久久综合九色欧美综合狠狠 | 六月色婷婷 | 四虎影院国产精品 | 亚洲天堂不卡 | 97影院理论 | 亚洲综合一二三区 | 色中色在线视频 | 手机看片免费永久在线观看 | 美女脱裤子屁屁视频 | 一级特黄色毛片免费看 | 美女扒开尿口给男人爽免费视频 | 免费看一级片 | 理论免费| 亚洲性人人天天夜夜摸 | 日本69sex护士hd | 一级片在线免费播放 | 色播图片| 天天插一插| 大尺度很肉污的古代小说 | 爱插综合网 | 国产精品a在线观看香蕉 | 欧美美女一区二区三区 | 黄色毛片播放 | 人人玩人人添天天爽 | 一区二区免费在线观看 | 亚洲一区区| 男人天堂网在线 | 欧美日韩亚洲国产一区二区综合 | 天堂一区二区在线观看 | 天堂资源地址在线 | 性做久久久久久久 | 91精品啪在线观看国产日本 | 1024手机在线看永久免费 | 免费一级特黄视频 | 国产成人优优影院 | 狠狠色丁香 | 日韩午夜| 人操人人|