stm32 IAR调试问题
在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调试问题
请问一下,你这个操作GPIO_SetBits(GPIOD,GPIO_Pin_3);是亮灯还是灭灯?而且你这里只执行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调试问题
回复第 2 楼 于2011-12-06 08:13:07发表:请问一下,你这个操作GPIO_SetBits(GPIOD,GPIO_Pin_3);是亮灯还是灭灯?
而且你这里只执行1次就跳出了,应该是你在运行的时候,还没有收到CAN数据就已经跳出main循环导致的。
while((CAN_TransmitStatus(CAN1,TxMailBox)!=CANTXOK)&&(i!=0xffff))
{
i++;
}
if(i
RE:stm32 IAR调试问题
CAN_Configuration你应该判断这个的结果,返回的是不是你想要的值。
回复:stm32 IAR调试问题
回复第 5 楼 于2011-12-06 11:52:50发表:CAN_Configuration
你应该判断这个的结果,返回的是不是你想要的值。
我把i=0xffff,就可以了,全速运行灯也亮,我试了一下,当i=oxff时,才发完,
页:
[1]