因为有违规文字,拆成两段发,借上段。
在while循环那个位置卡住,CLR_BIT7的值为0X7F,CKSWT的值为0XB0,两者或之后这个while不是恒成立?
例如: /***** HIRC enable part ******/
- case FSYS_HIRC:
- set_CKEN_HIRCEN; //step1: Enable extnal clock source.
- while((CKSWT|CLR_BIT5)==CLR_BIT5); //step2: check clock source status and wait for ready
- break;
复制代码
后者有一个(CKSWT|CLR_BIT5)==CLR_BIT5 判断。
FSYS_HXT的那个case是不是少了个判断??亲测把那一句while注释掉之后,程序正常运行,时钟频率为24Mhz。
因为CKSWT这个寄存器的第7位为1应该说明了 “高速外部晶振已使能且稳定”
求解答 |