CH565開發(fā)加入自定義的函數(shù)異常問題

? ? ? CH565開發(fā)加入自定義的函數(shù),無法達(dá)到延時(shí)效果。主程序和延時(shí)函數(shù)如下。

? ? ? 采用系統(tǒng)自帶的DelayMs函數(shù)可以達(dá)到延時(shí)效果。采用自定義delay_1ms函數(shù),無論此處的延時(shí)時(shí)間設(shè)置為多少,好像都沒有起到延時(shí)效果。

while(1)? ? ? ? ? ? ? ? ? ? ? ? ??

? ?{

? ? ? // 單字節(jié)發(fā)送

? ? ? R32_PA_CLR |= 1<<12;? ? ? ? ? ? ? ?// 設(shè)置為低電平

? ? ? SPI0_MasterTrans( spiBuff, 9 );? ? // 發(fā)送數(shù)據(jù)

? ? ? R32_PA_OUT |= 1<<12;? ? ? ? ? ? ? ?// 設(shè)置為高電平

? ? ? delay_1ms(50);? ? ? ? ? ? ? ? ? ? ?// 延時(shí)

? ? ? //DelayMs( 1 );

? ?}


?void delay_Nus(UINT32 count)

?{

? ? ?UINT32 i = 0;

? ? ?UINT32 j = 0;


? ? for(i=0;i

? ? {

? ? ? ? for(j=0;j<100;j++)? ?// 延時(shí)1us,時(shí)鐘108M,具體要實(shí)測(cè),

? ? ? ? {


? ? ? ? }

? ? }

?}


void delay_1ms(UINT32 count)

{

? ? ?UINT32 i = 0;


? ? for(i=0;i

? ? {

? ? ? ?delay_Nus(1000);

? ? }

}



這個(gè)地方可能是代碼被優(yōu)化掉了,試試看在delay_Nus里面隨意讀寫一個(gè)寄存器,或者加上一個(gè)NOP。


NOP加入進(jìn)去,編譯不通過。是不是系統(tǒng)不識(shí)別NOP這條語句


core_riscv.h頭文件中有nop的寫法

image.png


謝謝,測(cè)試了? ?加入你說的__nop后,延時(shí)函數(shù)可以用了。


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

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