国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

基于CW32的遙控循跡小車

CW32生態社區 ? 來源:CW32生態社區 ? 作者:CW32生態社區 ? 2023-11-17 17:46 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

例程資料鏈接如下(群文件也可下載):

BD網盤鏈接:

https://pan.baidu.com/s/187ePq84u2QjE1bsVPM6i3g?pwd=9jvv

提取碼:9jvv

一、實驗簡介

本實驗是使用CW32單片機制作一個入門的遙控循跡小車。遙控采用藍牙配合手機APP進行遙控。循跡使用一個5路的循跡模塊。使用OLED模塊進行顯示當前小車狀態。

二、實驗器材

本實驗使用到了CW32F030C8小藍板、智能小車底板、電機驅動模塊、OLED模塊、DX-BT04-E藍牙模塊、Wch-Link下載調試器、Keil5開發環境。

圖片

二、接線圖
image.png
image.png
image.png

實驗完整接線圖:

圖片

四、用到的外設

1.串口2:

串口2用于藍牙模塊,使手機和單片機通過藍牙模塊進行串口透傳,從 而進行點對點通信

2.高級定時器ATIM:

初始化高級定時器CH1B和CH2B進行PWM波輸出,從而達到電機調速目的。

3.基本定時器BTIM1:

初始化基本定時器1,在基本定時器中斷服務函數中對循跡模塊進行掃描。將掃描的結果保存,以便在循跡模式中使用。

4.IIC1:

IIC1用于外掛OLED顯示模塊。

五、核心代碼

// 基本定時器中斷回調函數
// 在回調函數中對循跡模塊進行掃描,將循跡模塊的狀態保存進sensor_data中
void BTIM1_IRQHandler(void)
{
    if (BTIM_GetITStatus(CW_BTIM1, BTIM_IT_OV)) // 判斷是否是通道1中斷
    {


        BTIM_ClearITPendingBit(CW_BTIM1, BTIM_IT_OV); // 清除中斷標志位


        char t = 0x00; // 設置零時變量保存灰度傳感器的值


        // 保存灰度傳感器的值
        // 采用或運算,檢測到黑線將相應的位設置為1
        if (!GPIO_ReadPin(TRACKING_GPIOA, TRACKING_1))
        {
            t |= 0x08; // 00001000 左邊數第一個
        }
        if (!GPIO_ReadPin(TRACKING_GPIOA, TRACKING_2))
        {
            t |= 0x04; // 00000100 左邊數第二個
        }
        if (!GPIO_ReadPin(TRACKING_GPIOA, TRACKING_3))
        {
            t |= 0x02; // 00000010 左邊數以三個
        }
        if (!GPIO_ReadPin(TRACKING_GPIOA, TRACKING_4))
        {
            t |= 0x01; // 00000001 左邊數第4個
        }
        if (!GPIO_ReadPin(TRACKING_GPIOC, TRACKING_5))
        {
            t |= 0x10; // 00010000 左邊數第5個
        }
        sensor_data = t; // 將灰度傳感器的值賦值給sensor_data
    }
}


// 串口1中斷處理函數
void UART1_IRQHandler(void)
{
    unsigned char TxRxBuffer;
    if (USART_GetITStatus(CW_UART1, USART_IT_RC) != RESET)
    {
        USART_ClearITPendingBit(CW_UART1, USART_IT_RC); // 清除中斷標志位
        TxRxBuffer = USART_ReceiveData_8bit(CW_UART1);  // 將接收到的數據放入TxRxBuffer


        USART_RX_BUF[rxIndex] = TxRxBuffer; // 將接收到的數據放入緩沖區


        if (rxIndex < USART_REC_LEN - 1) // 做數據長度的限制,留一個字節用于結束字符或者溢出檢測
        {
            // 接收到的字符包含 n 或者 r 結束接收
            if (USART_RX_BUF[rxIndex - 1] == 'n' || USART_RX_BUF[rxIndex - 1] == 'r')
            {
                USART_RX_BUF[rxIndex] = '?'; // 在最后一個字節加上空字符,表示字符串結束
            }
            else
            {
                rxIndex++;
            }
        }
        rxIndex = 0; // 清除數據標志
        flag = 1;    // 清除
    }

審核編輯 黃宇

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 遙控
    +關注

    關注

    11

    文章

    291

    瀏覽量

    59215
  • 循跡小車
    +關注

    關注

    42

    文章

    65

    瀏覽量

    69467
  • CW32
    +關注

    關注

    1

    文章

    299

    瀏覽量

    1843
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    請問CW32中的CW是啥意思?

    CW32中的CW是啥意思?
    發表于 02-02 07:10

    基于CW32的藍牙無刷遙控車案列

    產品應用案例簡介: 聚焦CW32,著手PT2432,驅動無刷電機,集成CH571F,賦能藍牙交互,串聯智能終端,形成組合拳,對標外星科技。? 開源協議: MIT 一、外觀展示 二、電路展示
    發表于 01-15 08:22

    CW32仿真器是什么?

    CW32仿真器是什么
    發表于 01-05 08:04

    CW32芯片有哪些外設接口?

    CW32芯片有哪些外設接口
    發表于 12-29 07:23

    請問CW32芯片的特性有哪些?

    CW32芯片的特性有哪些?
    發表于 12-26 06:14

    請問CW32的SPI時鐘頻率可調嗎?

    CW32的SPI時鐘頻率可調嗎?
    發表于 12-15 06:03

    CW32單片機如何讓生活更便捷

    這是一種全新的生活方式,它通過接收并處理傳感器的數據,以控制智能馬桶的所有功能。感謝CW32單片機,我們可以在日常生活中無縫地融入這種新的科技。 決定我們如何生活的,已經不再只是我們的選擇,更是我們
    發表于 12-11 06:11

    CW32時鐘運行中失效檢測的流程是什么?CW32時鐘運行中失效檢測注意事項有哪些呢?

    CW32時鐘運行中失效檢測的流程是什么?CW32時鐘運行中失效檢測注意事項有哪些?
    發表于 12-10 07:22

    關于CW32 互補PWM 程序調試的疑問求解

    在調試CW32 輸出互補PWM 的程序時,發現在線調試時波形輸出正常,但是當把程序在下到CW32 自行運行時,波形輸出不正常,這是什么原因導致的呢?
    發表于 12-08 07:02

    基于芯源CW32 MCU的LED閃爍示例及代碼分析

    最近我在項目中使用了芯源的CW32 MCU,這是一款非常適合物聯網和低功耗應用的微控制器。在初步學習和使用中,我做了一個簡單的LED閃爍實驗,通過這篇帖子給大家分享一下代碼及相關的配置步驟。 硬件
    發表于 12-04 06:52

    CW32 MCU溫度監測應用

    最近,我在項目中使用CW32 MCU,來實現一個簡單的溫度監測系統。CW32的靈活性和性能讓我在這個應用中得心應手。以下是我的實現過程和代碼示例。 應用簡介本項目通過連接一個溫度傳感器LM35來實時
    發表于 12-03 08:03

    cw32 systick怎么用?

    cw32 systick怎么用
    發表于 12-01 08:10

    CW32L012小型機器人控制評估板活動 四足機器人+智能小車 開箱評測

    一、評測前言 非常感謝CW32生態社區,開源分享了許多比較好玩、優質的項目。這次活動都尾聲了還能有幸申請購買到 四足機器人+小車-智能小車(套件數量不多)的評測套件,多謝C32生態社區的大力支持
    發表于 11-24 23:44

    CW32 MCU用什么IDE開發?

    推薦使用IAR Embedded Workbench for ARM、Keil μVision for ARM等IDE開發CW32 MCU應用,其中新版本IAR EWARM直接支持CW32 MCU,Keil MDK-ARM則需要安裝CW
    發表于 11-12 07:52

    CW32 MCU有哪些系列?

    目前CW32 MCU有通用高性能MCU、安全低功耗MCU、無線射頻MCU等3個系列。其中射頻MCU集成了無線收發器,主要包括CW32R031(2.4GHz BLE-Lite)系列和CW32W031(Sub-1G)系列。
    發表于 11-12 07:34