这只不过是初始化程序的部分呢,是在mcuinit()里的,mcuinit()又在mcu_hw_config.c里面定义。我分析了下那个程序流程, GPIOInit(); SPIInit(); IRQInit(); /* Turn on the IRQ pin. */ gu8RTxMode = MC13192_RESET_MODE; MC13192_RESET = 1; /* Take MC13192 out of reset */
while (u8AttnIrq == FALSE) { if (IRQFLAG == 1) { /* Check to see if IRQ is asserted */ u16IrqReg = SPIDrvRead(0x24); /* * Clear MC13192 interrupts and * check for ATTN IRQ from 13192 那个irqinit()会把irqflag置0,后来13192从reset状态回来,这期间应该发生了什么事,把irqfalg置1。而我的板子没做到。
再请看void MC13192Restart() { //UINT8 u8AttnIrq =0; //mod //UINT16 u8AttnIrq = 0; //mod
gu8RTxMode = SYSTEM_RESET_MODE; IRQInit(); /* Turn on the IRQ pin. */ MC13192_RESET = 1; /* Take MC13192 out of reset */ while (IRQSC_IRQF == 0) /* Poll waiting for MC13192 to assert the irq */ ; /* Empty Body */ /* (i.e. ATTN). */ SPIDrvRead(0x24); /* Clear MC13192 interrupts */ IRQACK(); /* ACK the pending IRQ interrupt */ IRQPinEnable(); /* Pin Enable, IE, IRQ CLR, negative edge. */ } Poll waiting for MC13192 to assert the irq ,如果没有这个,那么它始终循环在while (IRQSC_IRQF == 0)里无法跳出的,所以reset为1时那个irqf是不是会被置1呢,但这个又是怎么发生的呢?
现在还没涉及到应用层面,mcu初始化始终无法完成。 连线完全相同,不过,那个sard板上PTB4,PTB5连接到13192的GPIO1,GPIO2这两根决定天线开关选择的线我没接,不知道这个影响大不大。 我现在再焊块板子试试。
同时请问,我要选择mcu内部时钟而不用13192的时钟,怎么设置?
[此贴子已经被作者于2007-2-28 11:41:02编辑过] |