А какого типа (в смысле длины в битах) переменная FIO0PIN? И какого типа (в смысле длины в битах) константа (1<<19)? Может, в вашем компиляторе надо писать (1L<<19)?
А какого типа (в смысле длины в битах) переменная FIO0PIN? И какого типа (в смысле длины в битах) константа (1<<19)? Может, в вашем компиляторе надо писать (1L<<19)?
32-разрядные (LPC2478) но тут в другом дело. замаскировал все другие биты и стало все нормально. FIO0MASK = ~(1<<19); FIO0PIN ^= (1<<19);
С точки зрения языка конструкция FIO0PIN ^= (1<<19); - правильная. Но вам надо очень внимательно читать описание этого регистра - возможно запись единиц в него дает какие-то побочные эффекты, возможно он вообще не предназанчен для записи.
--------------------
На любой вопрос даю любой ответ "Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)