Control de un LCD 16x2 con la tool-chain winARM
El siguiente código fue generado utilizando WinARM e Insight. El framework se basó en una aplicación ejemplo de la propia tool-chain y se agregó el código para manejar un LCD de 16 x 2. NOTA: El siguiente código corre siempre y cuando se compile sin optimización, es decir, con -O0 ya que de otra manera por alguna razón falla (probablemente retardos muy lentos). También se utilizó una tarjeta OLIMEX LPC-E2129, y se depuró en RAM con un wiggler JTAG para el LPT de esa misma empresa. El propio código indica los puertos que se utilizaron. El código fuente lo puedes ver aquí Dic-09 Ya sé porqué no funciona con la optimización: El optimizador elimina las variables de retardo. Para evitarlo hay que hacerlas 'volatile': volatile int delay; Con eso se está forzando al compilador a no optimizarlas.