關(guān)于CH32V003 I2C模塊的一些問題
  1. 為了正常使用必須給 I2C 輸入正確的時鐘,其中標(biāo)準(zhǔn)模式下,輸入時鐘最低為 2MHz,在快速模
    式下,輸入時鐘最低為 4MHz。但I(xiàn)2C1_CTLR2的FREQ[5:0]范圍是8-48,是否能設(shè)為2-4

  2. I2C1_CKCFGR的CCR[11:0]分頻系數(shù)該如何填寫

I2C1_CTLR2的FREQ[5:0]牽扯到內(nèi)部的延時,按照手冊范圍走,大了沒關(guān)系,分頻系數(shù)按照庫函數(shù)配置就可以。一般庫函數(shù)的時鐘配置是APB1=系統(tǒng)主頻,不會到達(dá)2M或者4M。

static void SetSysClockTo_24MHZ_HSI(void)

{

? ? /* Flash 0 wait state */

? ? FLASH->ACTLR &= (uint32_t)((uint32_t)~FLASH_ACTLR_LATENCY);

? ? FLASH->ACTLR |= (uint32_t)FLASH_ACTLR_LATENCY_0;


? ? /* HCLK = SYSCLK = APB1 */

? ? RCC->CFGR0 |= (uint32_t)RCC_HPRE_DIV6;

}

這邊時鐘配置24M/6=4M,我這樣測試IIC沒問題。

image.png

此時I2C1_CTLR2的FREQ[5:0]=4M。這樣也沒問題。image.png


目前的情況是:主機(jī)發(fā)送寫指令,寫一個字節(jié),然后發(fā)送repeated start ,讀一個字節(jié),之前寫的字節(jié)不會觸發(fā)RxNE中斷導(dǎo)致接收不到這個字節(jié)


你好,具體郵箱聯(lián)系我吧,zdg@wch.cn


只有登錄才能回復(fù),可以選擇微信賬號登錄

国产91精品新入口,国产成人综合网在线播放,九热这里只有精品,本道在线观看,美女视频a美女视频,韩国美女激情视频,日本美女pvp视频