ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Четверг
18 апреля
76588
=L.A.= (25.12.2006 14:07, просмотров: 12246)
продолжение темы кривизны HiTech-16 v9.50 
Есть простенькая функция вывода импульсов 
на ногу.

void SendData(unsigned char DataBuff)

Там есть строчка 
  
 if(DataBuff == 0)          
   DataBuff = 10;  

 HiTech8.05 компилит строчку правильно, то есть с проверкой DataBuff на ноль, а HiTech 9.50 проверку на ноль выкидывает и оставляет    

 DataBuff = 10;   

 Только не надо говорить, что это делаецца по стандарту АНСИ и надо читать мануалы. Дооптимизировались блин! 

Полностью подпрограмма

void SendData(uchar DataBuff) 
{  
  if(DataBuff == 0)   
   DataBuff = 10;  
//
   Out = 1;  
   PAUSE1(1);
// 
 do                     
  {
  Out = 1;
  PAUSE1(4);
  Out = 0; 
  PAUSE1(4);   
   }
 while(--DataBuff);
// return;   
}