Цитата:
Сообщение от Butik
исправил = на == -картина та же....Хотя и при = компилятор не ругался...
|
Такие записи правильные, но смысл разный:
читается - если tmp равно 1, то выполняется выражение в скобках, если не равно 1, то пропускается.
читается - tmp присвоить 1 и если tmp не равно 0 (а оно всегда 1), то всегда будет выполняться условие в скобках.
Цитата:
Сообщение от Butik
И потом... если в CCS можно писать через запятую(и все работает!!!!)... то почему в MikroC нельзя????
|
У запятой в в выражениях Си особый смысл, поэтому так делать не надо. Если надо, чтобы выполнилось несколько операторов, то их надо заключить в
{......}, в паскале аналог
begin.......end:
Код:
void main() {
init() ;
do {
old_GPIO = GPIO;
if(old_GPIO.F5 ==1)
{
TRISIO = 0x28;
old_GPIO.F1=1;
GPIO = old_GPIO;
}
if (old_GPIO == 0)
TRISIO = 0x2A;
} while(1);
}