主程序如下,当poweron_Init()放在while(1)里面时,函数语句正常执行,而把poweron_Init()放在while(1)里面时,函数的语句就不执行了,请问各位大神这是什么原因?int main()
{
usart3_init();//′®¿ú33õê¼»ˉ
usart1_init();
while(1)
{
poweron_Init();
}
调用的函数为:
void poweron_Init(void)
{
u8 counter=0;
Delay(10000);
/*response RDY*/
if(rx_counter==7)
{
//rx_counter=0;
for(counter=0; counter<7; counter++)
{
if(receive_command[counter] != hardware_init_value1[counter])
{
break;
}
}
if(counter>=7)
{
hwinitial_ok_f=1;
//rx_counter=0;
}
else
{
hwinitial_ok_f=0;
//rx_counter=0;
}
}
}
void Delay(u32 nCount)
{
for(; nCount != 0 ; nCount--);
}
//·¢Ëíò»¸ö×Ö·û′®
/*******************************************************************************
* Name : Uart3_PutString
* Deion : print a string to the uart3
* Input : bufÎa·¢Ëíêy¾YμÄμØÖ· , lenÎa·¢Ëí×Ö·ûμĸöêy
*******************************************************************************/
void Uart3_PutString(u8 *buf , u8 len)
{ u8 i;
for(i=0;i<len;i++)
{
Uart3_PutChar(*buf++);
}
}
//·¢Ëíò»¸ö×Ö·û
/*******************************************************************************
* Name : Uart3_PutChar
* Deion : printf a char to the uart.
*******************************************************************************/
u8 Uart3_PutChar(u8 ch)
{
/* Write a character to the USART */
USART_SendData(USART3, (u8) ch);
while(USART_GetFlagStatus(USART3, USART_FLAG_TXE) == RESET)
{
}
return ch;
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>