CH32V203C8T6的AFIO_PCFR1寄存器讀寫錯(cuò)一位是怎么回事?

AFIO_PCFR1.png寫入0x8000,讀出變成了0x10000

如果寫入0x4000,讀出則變成了0x8000,想啟用PD0,PD1重映射,怎么就出現(xiàn)這種問題呢?是MRS的問題,還是芯片的問題?


實(shí)測(cè)AFIO_PCFR1寫入0x8000后,PD0,PD1重映射開啟成功,能輸出正確的電平信號(hào)。


您好,這邊根據(jù)你的情況測(cè)試了一下,并沒有復(fù)現(xiàn)出你的問題,打印和調(diào)試測(cè)試該寄存器讀出都是正常的(寄存器操作方式也測(cè)試過),如下圖,可檢查一下MRS版本是否為最新版,可升至最新版本試一下,若方便,可將你的測(cè)試?yán)贪l(fā)至這邊測(cè)試一下。后續(xù)問題可通過郵箱(lzs@wch.cn)和我溝通image.png



我的MRS是1.84量新版本的,GPIO配置代碼如下




void gpio_init(void)

{

? ? RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOB | RCC_APB2Periph_AFIO | RCC_APB2Periph_GPIOD, ENABLE);

? ? //CFGLR:[31..28]CNF7[1:0]MODE7[1:0],...,[3..0]CNF0[1:0]MODE0[1:0]

? ? //CFGHR:[31..28]CNF15[1:0]MODE15[1:0],...,[3..0]CNF8[1:0]MODE8[1:0]

? ? //CNFxMODEx:0模擬輸入,4浮空輸入,8帶上下拉輸入

? ? //? ? ? ? ? 1(2,3)通用推挽輸出(10M,2M,50MHz),5(6,7)通用開漏輸出(10M,2M,50MHz)

? ? //? ? ? ? ? 9(A,B)復(fù)用推挽輸出(10M,2M,50MHz),D(E,F(xiàn))復(fù)用開漏輸出(10M,2M,50MHz)

? ? //OUTDR:[15]ODR15,...,[0]ODR0? ? 輸入模式時(shí):0下拉,1上拉

? ? //BSHR:[31]BR15,...,[16]BR0,[15]BS15,...,[0]BS0? 如果同時(shí)設(shè)置了BR和BS位,則BS位起作用

? ? GPIOA->CFGLR = 0x01090008;

? ? GPIOA->CFGHR = 0x19914411;

? ? GPIOA->OUTDR = 0x90000;


? ? GPIOB->CFGLR = 0x00888111;

? ? GPIOB->CFGHR = 0x11141118;

? ? GPIOB->OUTDR = 0x2B00;


? ? //AFIO_PCFR1:[26..24]SW_CFG,[15]PD01_RM

? ? //? ? ? ? ? ?SW_CFG:0XX啟用SWD,100關(guān)閉SWD

? ? AFIO->PCFR1 = (1u<<15);

? ? GPIOD->CFGLR = 0x00000011;

? ? GPIOD->CFGHR = 0x00000000;

? ? GPIOD->OUTDR = 0x0000;

}



為什么選擇編輯器代碼語(yǔ)言格式后,代碼里一堆問號(hào)?


您好,這邊直接復(fù)制你的例程測(cè)試,寄存器調(diào)試顯示以及打印讀出的值都是正常的,是0x8000,如下圖。直接給寄存器賦值0x8000也是一樣的??蓪RS卸載重新裝一下試一下或者換個(gè)電腦試一下是否會(huì)有該問題??蓪⒛愕墓こ陶麄€(gè)發(fā)給我試一下,注意一下工程文件的配置,根據(jù)MCU的具體型號(hào)對(duì)工程文件進(jìn)行配置。后續(xù)問題可通過郵箱(lzs@wch.cn)和我詳細(xì)溝通一下

image.png


將MRS更新到1.85版本后正常了


MRS1.84版本,用WCH-LINK下載程序,每次都要下載兩次才能下載成功。更新到MRS1.85后,一次就下載成功了。


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

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