在can.c中编写: u8 CAN_Configuration(void) { while((CAN_TransmitStatus(CAN1,TxMailBox)!=CANTXOK)&&(i!=0xff)) { i++; } if(i==0xff) { j=0; } else { j=1; } return j; } main.c中: int main(void) { TxTest = CAN_Configuration(); if(TxTest==1) { GPIO_SetBits(GPIOD,GPIO_Pin_3); //Delay(12000000); } } 单步运行txtest1=1,灯亮,全速运行,灯不亮,请问哪里不对? |
RE:stm32 IAR调试问题
而且你这里只执行1次就跳出了,应该是你在运行的时候,还没有收到CAN数据就已经跳出main循环导致的。
回复:stm32 IAR调试问题
{
{
int main(void)
{
TxTest = CAN_Configuration();
if(TxTest==1)
{
GPIO_SetBits(GPIOD,GPIO_Pin_3);
Delay(12000000);
}
while(1)
{
}
回复第 2 楼 于2011-12-06 08:13:07发表:
请问一下,你这个操作GPIO_SetBits(GPIOD,GPIO_Pin_3);是亮灯还是灭灯?
而且你这里只执行1次就跳出了,应该是你在运行的时候,还没有收到CAN数据就已经跳出main循环导致的。
灯亮,
主函数有while ,我把i=0xffff,就可以了,全速运行灯也亮,我试了一下,当i=oxff时,才发完,
回复:stm32 IAR调试问题
请问一下,你这个操作GPIO_SetBits(GPIOD,GPIO_Pin_3);是亮灯还是灭灯?
而且你这里只执行1次就跳出了,应该是你在运行的时候,还没有收到CAN数据就已经跳出main循环导致的。
while((CAN_TransmitStatus(CAN1,TxMailBox)!=CANTXOK)&&(i!=0xffff))
{
i++;
}
if(i
RE:stm32 IAR调试问题
你应该判断这个的结果,返回的是不是你想要的值。
回复:stm32 IAR调试问题
CAN_Configuration
你应该判断这个的结果,返回的是不是你想要的值。
我把i=0xffff,就可以了,全速运行灯也亮,我试了一下,当i=oxff时,才发完,