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

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

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

3天內不再提示

零基礎開發小安派-Eyes-S1 外設篇 ——I2C

AIoT行業洞察 ? 來源:AIoT行業洞察 ? 作者:AIoT行業洞察 ? 2024-11-27 16:39 ? 次閱讀

AiPi-Eyes-S1是安信可開源團隊專門為Ai-M61-32S設計的一款開發板,支持WiFi6、BLE5.3。所搭載的Ai-M61-32S 模組具有豐富的外設接口,具體包括 DVP、MJPEG、Dispaly、AudioCodec、USB2.0、SDU、以太網 (EMAC)、SD/MMC(SDH)、SPI、UARTI2C、I2S、PWM、GPDAC、GPADC、ACOMP 和 GPIO 等。

AiPi-Eyes-S1集成了SPI屏幕接口,DVP攝像頭接口,外置ES8388音頻編解碼芯片以及預留TF卡座,并且引出USB接口,可接入USB攝像頭。

從零開始學習小安派:

1、零基礎開發小安派-Eyes-S1【入門篇】——初識小安派-Eyes-S1

2、零基礎開發小安派-Eyes-S1【入門篇】——安裝VMware與Ubuntu

3、入門篇:零基礎開發小安派-Eyes-S1——新建工程并燒錄調試

4、零基礎開發小安派-Eyes-S1入門篇——Win下SSH連接Linux

5、零基礎開發小安派-Eyes-S1【入門篇】——Samba共享文件夾

6、零基礎開發小安派-Eyes-S1【入門篇】——工程文件架構

7、零基礎開發小安派-Eyes-S1【外設篇】——GPIO 輸入輸出

8、零基礎開發小安派-Eyes-S1【外設篇】——GPIO中斷編程

9、零基礎開發小安派-Eyes-S1【外設篇】——PWM

10、零基礎開發小安派-Eyes-S1【外設篇】——UART

IIC(Inter-Integrated Circuit)總線是一種由 NXP(原 PHILIPS)公司開發的兩線式串行總線,用于連接微控制器及其外圍設備。多用于主控制器和從器件間的主從通信,在小數據量場合使用,傳輸距離短,任意時刻只能有一個主機等特性。在 CPU 與被控 IC 之間、IC 與 IC 之間進行雙向傳送,高速 IIC 總線一般可達 400kbps 以上。

一、了解小安派-Eyes-S1 的 I2C

1.struct bflb_i2c_msg_s

說明:i2c 傳輸時需要填充的信息

struct bflb_i2c_msg_s {
uint16_t addr;
uint16_t flags;
uint8_t *buffer;
uint16_t length;
};

wKgZO2dG2qSAcdmuAAA7_hcCOyM118.jpg

flag 可以為下列參數

#define I2C_M_READ 0x0001
#define I2C_M_TEN 0x0002
#define I2C_M_DMA 0x0004
#define I2C_M_NOSTOP 0x0040
#define I2C_M_NOSTART 0x0080

備注:flagS 也可以設為 0,表示寫入數據。在使用 tansfer 函數操作時,一般設置兩個結構體數組,其中第一位操作的從機地址和寄存器地址,且 Flags 設置為 NOSTOP,而后一個結構體數組為寫入的數據,Flags 設置為 0,也就是 write。

2.bflb_i2c_init

說明: 初始化 i2c 并配置頻率。

void bflb_i2c_init(struct bflb_device_s *dev, uint32_t frequency);

wKgZPGdG2qWACPGWAAAtf76NXGc994.jpg

3.bflb_i2c_deinit

說明: 反初始化 i2c。

void bflb_i2c_deinit(struct bflb_device_s *dev);

wKgZO2dG2qqAV9lnAAALbdReeMg959.jpg

4.bflb_i2c_link_txdma

說明: i2c 發送 dma 使能開關。

void bflb_i2c_link_txdma(struct bflb_device_s *dev, bool enable);

wKgZPGdG2quAGQNgAAAov-qM-bs896.jpg

5.bflb_i2c_link_rxdma

說明: i2c 接收 dma 使能開關。

void bflb_i2c_link_rxdma(struct bflb_device_s *dev, bool enable);

wKgZO2dG2quAViyfAAApMstFCXM673.jpg

6.bflb_i2c_transfer

說明:i2c 消息傳輸。

int bflb_i2c_transfer(struct bflb_device_s *dev, struct bflb_i2c_msg_s *msgs, int count);

wKgZPGdG2quAK-DUAAAv-XRoR3g295.jpg

二、示例——驅動 Rd-04 雷達

首先準備一塊 Rd-04,將板載 MCU 拆除。

wKgZO2dG2quARH3lAAAwpN_Uw8U430.jpg

其次準備查閱 Rd-04 的寄存器手冊,附上鏈接:rd-04_v1.0.0 模組說明書.pdf (http://ai-thinker.com)

將 Rd-04 與 S1 進行連接,后續代碼將 GPIO_0 設置為 SDA,GPIO_1 設置為 SCL。注意:Rd-04 有一個 I2C 的使能引腳,在配置時需要將 I2C_EN 拉高,我將其連接到 3V3。

wKgZPGdG2qyAG1LeAACAOJrjP88963.jpg

Main

#include "bflb_mtimer.h"
#include "bflb_i2c.h"
#include "bflb_gpio.h"
#include "board.h"
#define I2C_SLAVE_ADDR 0x71 //Rd-04的從機地址
static struct bflb_device_s *i2c0; //i2c0外設句柄
struct bflb_i2c_msg_s msgs[2]; //I2C發送數據結構體數組
void My_i2c0_gpio_init() //初始化I2C的gpio引腳,選擇IO_0作為SDA,IO_1作為SCL
{
struct bflb_device_s* gpio;
gpio = bflb_device_get_by_name("gpio");
/* I2C0_SDA */
bflb_gpio_init(gpio, GPIO_PIN_0, GPIO_FUNC_I2C0 | GPIO_ALTERNATE | GPIO_PULLUP | GPIO_SMT_EN | GPIO_DRV_1);
/* I2C0_SCL */
bflb_gpio_init(gpio, GPIO_PIN_1, GPIO_FUNC_I2C0 | GPIO_ALTERNATE | GPIO_PULLUP | GPIO_SMT_EN | GPIO_DRV_1);
}
//I2C寫入數據函數
static uint8_t axk_rd04_i2c_write(char reg_addr, char buff, char buf_size)
{
/* Write data */
msgs[0].addr = I2C_SLAVE_ADDR;
msgs[0].flags = I2C_M_NOSTOP;
msgs[0].buffer = ?_addr;
msgs[0].length = buf_size;
msgs[1].addr = I2C_SLAVE_ADDR;
msgs[1].flags = 0;
msgs[1].buffer = &buff;
msgs[1].length = buf_size;
bflb_i2c_transfer(i2c0, msgs, 2);
bflb_mtimer_delay_ms(100);
return 1;
}
//I2C讀取數據函數
static char axk_rd04_i2c_read(char reg_addr, char buf_size)
{
static char read_data = 0;
/* Read data */
msgs[0].addr = I2C_SLAVE_ADDR;
msgs[0].flags = I2C_M_NOSTOP;
msgs[0].buffer = ?_addr;
msgs[0].length = buf_size;
msgs[1].addr = I2C_SLAVE_ADDR;
msgs[1].flags = I2C_M_READ;
msgs[1].buffer = &read_data;
msgs[1].length = buf_size;
bflb_i2c_transfer(i2c0, msgs, 2);
bflb_mtimer_delay_ms(100);
return read_data;
}
//Rd-04初始數據配置函數
static int32_t rd_04_radar_init(void)
{
printf("radar initn");
uint8_t value;
//-------------------------------------------------------------------
/*寄存器地址 默認值 讀/寫 寄存器名稱
* 0x13 0x1 R/W bb_ctl[31:24]
* [7] I2C read only data update enable for 0x26~0x29
* [6:5] Reserved
* [4] bb proc threshold mode ( 0:auto by configure pin / 1:manual by cpu control register ) 信號檢測門限選擇,外部管腳選擇檔位方式和CPU寄存控制方式
* [3] bb read only data update enable
* [2:1] read only data select ( 00:det_dc_sum(SUM0) / 01:det_ac_sum(SUM1) / 10:det_dc_used / 11:det_noise )
* [0] bb proc enable ( 1:enable ) 信號檢測enable,需要在在配置其它參數前先置0,再置1,由于信號檢測部分工作時鐘是32KHz,切換該位時需要CPU保證時長足夠
*/
//-------------------------------------------------------------------
for (uint8_t i = 0; i < 5; i++)
{
axk_rd04_i2c_write(0x13, 0x9B, 1);
bflb_mtimer_delay_us(10);
value = axk_rd04_i2c_read(0x13, 1);
printf("read value: 0x%02Xn", value);
}
//-------------------------------------------------------------------
//-------------------------------------------------------------------
// XBR818-ADC1 -> VCO頻率調整(外部電阻調整或MCU_IIC_調整 ) ---
// XBR818-ADC2 -> BB門限(外部電阻調整或MCU_IIC_調整 ) ---
// XBR818-ADC3 -> BB延時時間 (外部電阻調整或MCU_IIC_調整 ) ---
// XBR818-LP -> 正常功耗(1)與低功耗(0)模式選擇 ---
//-------------------------------------------------------------------
/*寄存器地址 默認值 讀/寫 寄存器名稱
* 0x24 0x03 R/W pin_ctl[11:10]
* [7:2] Reserved
* [3] INT_IRQ GPIO out
* [2] IO_VAL GPIO out
* [1] power mode control select 0:by P1_5 1:by CPU control register
* [0] ADC2 sample enable for VCO tuning 0:enable
*/
//--------------------------------------------------------------------------
axk_rd04_i2c_write(0x24, 0x03, 1);
//.7654 = nc
//.3 =1, INT_IRQ設置為GPIO輸出功能時輸出,為高 =0,為低
//.2 =1, IO_VAL設置為GPIO輸出功能時輸出,為高 =0,為低
//.1 功耗設置方式選擇 =1, 寄存器設置 =0,P15外接電阻選擇
//.0 =0,使能ADC1用作VCO頻率微調 =1,禁止
//--------------------------------------------------------------------
// 0x04: 供電方式控制,默認 0x20 -- LP強制拉低,進入低功耗,此處設置無效
// 14mA連續波工作模式 10100000 -- b.7=1, RF_EN_Sel=1 --
// 120uA脈沖間歇工作模式 00100000 -- b.7=0, RF_EN_Sel=0 --
//--------------------------------------------------------------------
//WriteBytes(0xE2,0X04,0XA0,1); //0XA0-全供電 ---- 13mA
axk_rd04_i2c_write(0x04, 0x20, 1); //0X20-脈沖供電 ---- 155uA
//--------------------------------------------------------------------
//-------------- BB模塊(目標檢測)功能寄存器設置 ---------------
//--------------------------------------------------------------------
//設置ADC采樣頻率 ( 配置ADC采樣率,32KHz OSC時鐘分頻,最小為2,default設置為1KHz )
axk_rd04_i2c_write(0x10, 0x20, 1); //0x20=32, Fadc=32000Hz / 32=1000Hz = 1KHz
//WriteBytes(0xE2,0X10,0X10,1); //0x10=16, Fadc=32000Hz / 16=2000Hz = 2KHz
//WriteBytes(0xE2,0X10,0X08,1); //0x08=8, Fadc=32000Hz / 8 =4000Hz = 4KHz
//WriteBytes(0xE2,0X10,0X02,1); //0x02=2, Fadc=32000Hz / 2 =16000Hz = 16KHz
//--------------------------------------------------------------------
// 0x3:默認0x45-01000101-調整寄存器0x03【6:4】來微調中頻的DC點電平
// pwu [7 ] PWU
// mix_swdc [6:4] mixer dc trim
// rf_en_ext_sel [3 ] rf_en_ext_sel=1, rf_en from PIN=0
// vco_sw [2:0] rf out power control ---- BIT 2:0 修改發射功率 (7-6-5-4-3-2-1-0)
//--------------------------------------------------------------------
// mix_swdc [6:4] = 000 -- OP1直流(mV)864mv 最佳范圍 0.75-0.85
// [6:4] = 001 -- OP1直流(mV)675mv
// [6:4] = 010 -- OP1直流(mV)761mv
// [6:4] = 011 -- OP1直流(mV)571mv
// [6:4] = 100 -- OP1直流(mV)813mv
// [6:4] = 101 -- OP1直流(mV)630mv
// [6:4] = 110 -- OP1直流(mV)716mv
// [6:4] = 111 -- OP1直流(mV)522mv
//--------------------------------------------------------------------
//WriteBytes(0xE2,0X03,0X47,1); //發射功率(7) -- 108.5uA@6V 靠近感應無反應
//WriteBytes(0xE2,0X03,0X46,1); //發射功率(6) -- 114.5uA@6V 靠近感應反應正常(很近)
axk_rd04_i2c_write(0x03, 0x45, 1); //發射功率(5) -- 115.2uA@6V 靠近感應反應正常
//WriteBytes(0xE2,0X03,0X44,1); //發射功率(4) -- 117.9uA@6V 靠近感應反應正常
//WriteBytes(0xE2,0X03,0X43,1); //發射功率(3) -- 119.7uA@6V 靠近感應反應正常
//WriteBytes(0xE2,0X03,0X42,1); //發射功率(2) -- 121.1uA@6V 靠近感應反應正常
//WriteBytes(0xE2,0X03,0X41,1); //發射功率(1) -- 123.2uA@6V 靠近感應反應正常
//WriteBytes(0xE2,0X03,0X40,1); //發射功率(0) -- 124.1uA@6V 靠近感應反應正常 --- 發射功率最大
//--------------------------------------------------------------------
//--------------------------------------------------------------------
axk_rd04_i2c_write(0x1C, 0x21, 1); //選擇(感應延時由寄存器設置)+(定時器使能)
//.76 = nc 00100001
//.5 =1, 感應延時由寄存器設置 =0,感應延時由外圍電阻設置
//.43 定時時間單位選擇 =00(秒) =01(分) =10(小時) =11(天)
//.21 光感檢測周期 =00(禁止) =01(4秒) =10(1分鐘) =11(1小時)
//.0 =1,定時器使能 =0,定時器禁止
axk_rd04_i2c_write(0x11, 0x10, 1); //設置初始化時長為7s
//感應距離和傳感器的值成反比
//默認使用0x0080,正面感應距離8m左右
axk_rd04_i2c_write(0x18, 0x00, 1); //[7:0 ] 設置感應門限 6A -- 10m 9a--8m ea--5m 15A--7m
axk_rd04_i2c_write(0x19, 0x20, 1); //[15:8] 設置感應門限
axk_rd04_i2c_write(0x1A, 0x55, 1); //[7:0 ] 設置噪聲更新允許門限
axk_rd04_i2c_write(0x1B, 0x01, 1); //[15:8] 設置噪聲更新允許門限
//設置1s感應延遲時間
axk_rd04_i2c_write(0x1D, 0x00, 1); //[7:0 ] 設置感應延時時間 ( y / 32000 默認0ea600(960000) / 32000 = 30秒 )
axk_rd04_i2c_write(0x1E, 0x7D, 1); //[15:8 ] 設置感應延時時間 ( y / 32000 默認027100(160000) / 32000 = 5秒 )
axk_rd04_i2c_write(0x1F, 0x00, 1); //[23:16] 設置感應延時時間 ( y / 32000 默認007D00(32000) / 32000 = 1秒 ) 16000-0x3e80
// ( y / 32000 默認001900(6400) / 32000 = 0.2秒 ) 3200-0xc80
//封鎖時間:滅燈后不感應的時間,原廠建議最短500ms
axk_rd04_i2c_write(0x20, 0x80, 1); //[7:0 ] 設置封鎖時間 ( y / 32000 默認00fa00(64000) / 32000 = 2秒 )
axk_rd04_i2c_write(0x21, 0x3E, 1); //[15:8 ] 設置封鎖時間 ( y / 32000 默認027100(160000) / 32000 = 5秒 )
axk_rd04_i2c_write(0x22, 0x00, 1); //[23:16] 設置封鎖時間 ( y / 32000 默認007D00(32000) / 32000 = 1秒 )
//--------------------------------------------------------------------
//--------------------------------------------------------------------
//WriteBytes(0xE2,0X23,0X07,1); //0X23- 07 - ADC_sample --INT_IRQ ( 1KHz采樣頻率 -- 與ADC采樣頻率對應)
//WriteBytes(0xE2,0X23,0X09,1); //0X23- 09 - ADC_sample_IRQ --INT_IRQ
//WriteBytes(0xE2,0X23,0X0A,1); //0X23- 0A - ADC_ACCU_IRQ --INT_IRQ
axk_rd04_i2c_write(0X23, 0x0C, 1); //0X23- 0C - IO_VALUE_OUT --感應有效輸出
printf("radar init donen");
return 0;
}
int main(void)
{
board_init();
//I2C引腳初始化
My_i2c0_gpio_init();
i2c0 = bflb_device_get_by_name("i2c0");
//I2C初始化
bflb_i2c_init(i2c0, 400000);
//Rd-04配置
rd_04_radar_init();
while(1){
}
}

三、實現效果

wKgZO2dG2qyAGKy-AAAoBq6M9WU298.jpg



審核編輯 黃宇

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

    關注

    33

    文章

    8596

    瀏覽量

    151147
  • 攝像頭
    +關注

    關注

    60

    文章

    4841

    瀏覽量

    95691
  • I2C
    I2C
    +關注

    關注

    28

    文章

    1487

    瀏覽量

    123740
收藏 人收藏

    評論

    相關推薦

    零基開發小安-Eyes-S1 外設——DAC

    等。 AiPi-Eyes-S1集成了SPI屏幕接口,DVP攝像頭接口,外置ES8388音頻編解碼芯片以及預留TF卡座,并且引出USB接口,可接入USB攝像頭。 從開始學習小安
    的頭像 發表于 12-27 10:55 ?257次閱讀
    <b class='flag-5'>零基</b>礎<b class='flag-5'>開發</b><b class='flag-5'>小安</b><b class='flag-5'>派</b>-<b class='flag-5'>Eyes-S1</b> <b class='flag-5'>外設</b><b class='flag-5'>篇</b>——DAC

    零基開發小安-Eyes-S1外設——I2S

    等。 AiPi-Eyes-S1集成了SPI屏幕接口,DVP攝像頭接口,外置ES8388音頻編解碼芯片以及預留TF卡座,并且引出USB接口,可接入USB攝像頭。 從開始學習小安
    的頭像 發表于 12-13 18:02 ?965次閱讀
    <b class='flag-5'>零基</b>礎<b class='flag-5'>開發</b><b class='flag-5'>小安</b><b class='flag-5'>派</b>-<b class='flag-5'>Eyes-S1</b><b class='flag-5'>外設</b><b class='flag-5'>篇</b>——<b class='flag-5'>I2S</b>

    零基開發小安-Eyes-S1外設】——FLASH

    。 AiPi-Eyes-S1集成了SPI屏幕接口,DVP攝像頭接口,外置ES8388音頻編解碼芯片以及預留TF卡座,并且引出USB接口,可接入USB攝像頭。 從開始學習小安
    的頭像 發表于 12-05 14:31 ?193次閱讀
    <b class='flag-5'>零基</b>礎<b class='flag-5'>開發</b><b class='flag-5'>小安</b><b class='flag-5'>派</b>-<b class='flag-5'>Eyes-S1</b>【<b class='flag-5'>外設</b><b class='flag-5'>篇</b>】——FLASH

    零基開發小安-Eyes-S1【入門】——工程文件架構

    -Eyes-S1【入門】——初識小安-Eyes-S12、零基
    的頭像 發表于 11-06 16:10 ?160次閱讀
    <b class='flag-5'>零基</b>礎<b class='flag-5'>開發</b><b class='flag-5'>小安</b><b class='flag-5'>派</b>-<b class='flag-5'>Eyes-S1</b>【入門<b class='flag-5'>篇</b>】——工程文件架構

    零基開發小安-Eyes-S1外設】——PWM

    】——工程文件架構7、零基開發小安-Eyes-S1外設
    的頭像 發表于 11-06 16:10 ?152次閱讀
    <b class='flag-5'>零基</b>礎<b class='flag-5'>開發</b><b class='flag-5'>小安</b><b class='flag-5'>派</b>-<b class='flag-5'>Eyes-S1</b>【<b class='flag-5'>外設</b><b class='flag-5'>篇</b>】——PWM

    零基開發小安-Eyes-S1外設——GPIO中斷編程

    等。 AiPi-Eyes-S1集成了SPI屏幕接口,DVP攝像頭接口,外置ES8388音頻編解碼芯片以及預留TF卡座,并且引出USB接口,可接入USB攝像頭。 產品資料:https://docs.ai-thinker.com/eyes
    的頭像 發表于 10-29 14:56 ?756次閱讀
    <b class='flag-5'>零基</b>礎<b class='flag-5'>開發</b><b class='flag-5'>小安</b><b class='flag-5'>派</b>-<b class='flag-5'>Eyes-S1</b><b class='flag-5'>外設</b><b class='flag-5'>篇</b>——GPIO中斷編程

    零基開發小安-Eyes-S1外設——GPIO 輸入輸出

    等。 AiPi-Eyes-S1集成了SPI屏幕接口,DVP攝像頭接口,外置ES8388音頻編解碼芯片以及預留TF卡座,并且引出USB接口,可接入USB攝像頭。 從開始學習小安
    的頭像 發表于 10-25 13:50 ?1025次閱讀
    <b class='flag-5'>零基</b>礎<b class='flag-5'>開發</b><b class='flag-5'>小安</b><b class='flag-5'>派</b>-<b class='flag-5'>Eyes-S1</b><b class='flag-5'>外設</b><b class='flag-5'>篇</b>——GPIO 輸入輸出

    對TMS320VC5503/C5506/C5507/C5509/C5509A I2C外設進行編程

    電子發燒友網站提供《對TMS320VC5503/C5506/C5507/C5509/C5509A I2C
    發表于 10-18 09:53 ?0次下載
    對TMS320VC5503/<b class='flag-5'>C</b>5506/<b class='flag-5'>C</b>5507/<b class='flag-5'>C</b>5509/<b class='flag-5'>C</b>5509A <b class='flag-5'>I2C</b><b class='flag-5'>外設</b>進行編程

    開發教程 零基開發小安-Eyes-S1入門——Win下SSH連接Linux

    AiPi-Eyes-S1 是安信可開源團隊專門為Ai-M61-32S設計的一款開發板,支持WiFi6、BLE5.3。所搭載的Ai-M61-32S 模組具有豐富的
    的頭像 發表于 09-24 14:31 ?302次閱讀
    <b class='flag-5'>開發</b>教程 <b class='flag-5'>零基</b>礎<b class='flag-5'>開發</b><b class='flag-5'>小安</b><b class='flag-5'>派</b>-<b class='flag-5'>Eyes-S1</b>入門<b class='flag-5'>篇</b>——Win下SSH連接Linux

    I2C基本指南

    電子發燒友網站提供《I2C基本指南.pdf》資料免費下載
    發表于 09-10 09:40 ?0次下載
    <b class='flag-5'>I2C</b>基本指南

    GitHub Copilot+ESP開發實戰-I2C

    準備工作1.ESP32-S3-DevKitC-1開發板一塊;2.LM75A溫度感應器;3.杜邦線4根、USB線;一、向Copilot提問1.ESP32-S3用
    的頭像 發表于 03-29 08:03 ?511次閱讀
    GitHub Copilot+ESP<b class='flag-5'>開發</b>實戰-<b class='flag-5'>I2C</b>

    什么是I2C協議 I2C總線的控制邏輯

    在實際使用過程中,I2C比較容易出現的一個問題就是死鎖 ,死鎖在I2C中主要表現為:I2C死鎖時表現為SCL為高,SDA一直為低。
    發表于 03-12 09:17 ?1072次閱讀
    什么是<b class='flag-5'>I2C</b>協議 <b class='flag-5'>I2C</b>總線的控制邏輯

    GD32 MCU硬件I2C不可靠不如軟件I2C?來看看紅楓開發版的硬件I2C驅動如何做到穩得一批

    在一個評論中,看到網友對硬件I2C的討論,硬件I2C Busy找不到原因、軟件I2C穩得一批。
    的頭像 發表于 02-23 09:37 ?2792次閱讀
    GD32 MCU硬件<b class='flag-5'>I2C</b>不可靠不如軟件<b class='flag-5'>I2C</b>?來看看紅楓<b class='flag-5'>派</b><b class='flag-5'>開發</b>版的硬件<b class='flag-5'>I2C</b>驅動如何做到穩得一批

    功德+1,用小安-Eyes-S1做一個電子木魚

    2024積德累功,心想事成!接下來 看看如何用小安-Eyes-S1做一個電子木魚 。 01、GUI-Guider 頁面設計 先新建一個工程。 直接進入 UI 設計界面,這里用到了兩個組件, 一個是圖片按鈕,一個是文本框 。 先
    的頭像 發表于 01-16 14:33 ?759次閱讀
    功德+<b class='flag-5'>1</b>,用<b class='flag-5'>小安</b><b class='flag-5'>派</b>-<b class='flag-5'>Eyes-S1</b>做一個電子木魚

    如何用小安-Eyes-S1做一個電子木魚?

    2024年的第一教程來了,本篇學習如何添加LVGL事件,并制作完成一個電子木魚(小美苦苦哀求,我略微出手而已)。祝大家2024積德累功,心想事成!接下來看看如何用小安-Eyes-S1
    的頭像 發表于 01-13 15:18 ?1029次閱讀
    如何用<b class='flag-5'>小安</b><b class='flag-5'>派</b>-<b class='flag-5'>Eyes-S1</b>做一個電子木魚?
    主站蜘蛛池模板: free性欧美高清另类| 黄网站观看| tube44在线观看| 91男女视频| www爽| 午夜精品久久久久蜜桃| 免费的黄视频| 亚洲免费人成在线视频观看| 色五婷婷| 国产一级做a爱免费观看| 夜夜夜操操操| 成人爽a毛片在线视频| 亚洲第一视频区| 婷婷6月| 婷婷丁香激情五月| 国产精品九九久久一区hh | 四虎a456tncom| 久久成人国产| 午夜高清在线观看免费6| 亚洲成a人片77777kkk| 东京加勒比| 欧美色图亚洲| 亚洲aa视频| 免费在线h视频| 日本人zzzwww色视频| www.久久综合| 35pao强力| 色偷偷人人| 天天射视频| 亚洲激情a| 日韩三级久久| 在线观看精品国产入口| 在线播放免费人成毛片乱码| 四虎精品免费永久在线| 亚洲午夜精品久久久久久成年| 亚洲男人天堂岛| 久久久五月| 久久久精品免费热线观看| 男女视频在线| 国产精品特黄毛片| 亚洲日本视频在线观看|