Programación en C para sistemas Embebidos
por ELSBERG AMADOR BERNABE YUJRA
1. Seleccion de tipo de datos
1.1. si un puntero no se usa declarar const
1.1.1. Uso de punto flotante
1.1.1.1. constantes de punto flotante por defecto son double, excepto que se las especifique como float. a += 1.0 // double a += 1.0f // float
1.1.1.2. usar float 32 bits en lugar de double 64bits
1.1.1.3. operaciones de punto flotante ineficiente en ejecucion y memoria
1.2. evitar punto flotante
1.3. bit menor a 1
1.4. evitar double y long long
1.5. usar el tipo pequeñó
2. Estructuras y uniones anonimas
2.1. nombre de miembros tiene alcance fuera de la estructura o union
2.2. compilador c puede tener extensiones q las permite
2.3. prpias del lenguaje c++
2.4. son de utilidad para manipular los registros del procesador que mapean en direcciones de memoria
2.4.1. Por ejemplo: el registro U0CTL (Control de USART0)
2.5. tambien son de utilidad para definir variables booleanas ahorrando memoria
2.6. se debe poner flags = 0
2.7. Modificar o testear algún flag: if( waitingSomeEvent && someEvent ) { someEvent = 0; }
3. Alineamiento de estructuras
3.1. los datos de tamaño mayor que un byte deben estar alineados en direcciones pares.
3.1.1. En los de 32 bits, se alinean en direcciones múltiplos de 4.