chenzongxi 发表于 2011-12-6 15:23:43

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,灯亮,全速运行,灯不亮,请问哪里不对?

发表于 2011-12-6 16:13:07

RE:stm32 IAR调试问题

请问一下,你这个操作GPIO_SetBits(GPIOD,GPIO_Pin_3);是亮灯还是灭灯?
而且你这里只执行1次就跳出了,应该是你在运行的时候,还没有收到CAN数据就已经跳出main循环导致的。

chenzongxi 发表于 2011-12-6 16:14:24

回复: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时,才发完,

chenzongxi 发表于 2011-12-6 16:23:03

回复: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

发表于 2011-12-6 19:52:50

RE:stm32 IAR调试问题

CAN_Configuration
你应该判断这个的结果,返回的是不是你想要的值。

chenzongxi 发表于 2011-12-7 10:30:07

回复:stm32 IAR调试问题

回复第 5 楼 于2011-12-06 11:52:50发表:
CAN_Configuration
你应该判断这个的结果,返回的是不是你想要的值。 

我把i=0xffff,就可以了,全速运行灯也亮,我试了一下,当i=oxff时,才发完,
页: [1]
查看完整版本: stm32 IAR调试问题