Цитата(Jenya7 @ Nov 10 2013, 14:52)

1.Если нужно создать несколько флагов как лучше сделать так
Если нет нужды экономить память (95% случаев), то нет смысла заморачиваться с битовыми полями.
Цитата(Jenya7 @ Nov 10 2013, 14:52)

2.стоит ли создавать переменные uint8_t, uint16_t,
или все создавать uint32_t и не играться.
Вообще если подходит int или unsigned int, то лучше такой тип и применять хотя бы потому, что int - всего 3 буквы. Типы с фиксированным размером имеют смысл там, где типичное их применение уменьшает число необходимых преобразований типа, ну и экономия памяти (массив из 100000 элементов uint8_t в 4 раза меньше, чем тот же массив из int). Ну и если хочется написать переносимый код (для разных sizeof(int)), то нужно более внимательно выбирать типы. Кстати, драйверы периферии непереносимы (привязаны к конкретному МК), так что там можно спокойно предполагать, что sizeof(int) == 4.
Цитата(Jenya7 @ Nov 10 2013, 14:52)

3.и еще, чтоб не создавать еще одну тему, спрошу тут
насколько надежны внутренние пулапы у STM32F10X?
на AVR у меня все кнопки и концевики сидели на внутренних пулапах, только на I2C я ставил внешние пулапы.
Я делал кнопки с внутренними подтяжками STM32, проблем не было. Но это зависит от разводки и уровня помех, естественно: если протянуть такую цепь длинной дорожкой рядом с питанием индуктивной нагрузки, то могут быть неожиданности (собственно, как и с внешними подтяжками такой же силы).