23-04-2015, 20:57
(22-04-2015, 10:42)SQ5KVS napisał(a):Kod:typedef int points ;
Zdefiniowaliśmy alias dla zmiennej int, który się nazywa "points". Potem można robić:
Kod:points punkty;
To takie zastosowanie estetyczne.
Karolu, możliwość definiowania nowych typów w języku C nie wymyślono tylko w celach estetycznych. Mechanizm ten pozwala tworzyć rozbudowane struktury danych, nadawać im wygodne nazwy, przekazywać je jako parametry, zapisywać do pliku, odczytywać i przetwarzać w programie.
(22-04-2015, 10:42)SQ5KVS napisał(a):Kod:#ifdef __cplusplus
#define __I volatile /*!< Defines 'read only' permissions */
#else
#define __I volatile const /*!< Defines 'read only' permissions */
#endif
#define __O volatile /*!< Defines 'write only' permissions */
#define __IO volatile /*!< Defines 'read / write' permissions */
/*@} end of group Cortex_M3 */
Trochę to dziwne ale wychodzi na to, że w Cortex-ach __IO i volatile to samo.
Dla mnie czym innym jest zmienna do zapisu i odczytu a czym innym zmienna typu volatile. Zwykła zmienna najczęściej jest do zapisu i odczytu a nie musi być typu volatile.
Wolę klasyczny zapis:
Kod:
uint32_t zmienna1 //zwykła zmienna odczyt/zapis
volatile uint32_t zmienna2 //zmienna odczyt/zapis ale typu volatile
73 Adam

