реклама на сайте
подробности

 
 
> Несколько вопросов у новичка
Jenya7
сообщение Nov 10 2013, 10:52
Сообщение #1


Профессионал
*****

Группа: Участник
Сообщений: 1 778
Регистрация: 29-03-12
Пользователь №: 71 075



Раньше работал с AVR и все было понятно. Теперь перешел на ARM, и возникло пару вопросов
1.Если нужно создать несколько флагов как лучше сделать так
Код
bool flag1;
bool flag2;
------------
bool flagN;

или так
Код
struct
{
  unsigned flag1:    1;  
  unsigned flag2:    1;
--------------------------
  unsigned flagN:    1;  
  
} flags;


2.стоит ли создавать переменные uint8_t, uint16_t,
или все создавать uint32_t и не играться.

3.и еще, чтоб не создавать еще одну тему, спрошу тут
насколько надежны внутренние пулапы у STM32F10X?
на AVR у меня все кнопки и концевики сидели на внутренних пулапах, только на I2C я ставил внешние пулапы.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Сергей Борщ
сообщение Nov 10 2013, 23:27
Сообщение #2


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



1) По какому критерию вы считаете лучше/хуже?

2)Если нужен конкретный размер (осознанное переполнение, структуры кадров протокола) - используем uintXX_t. Если же размер не критичен, лишь бы влезло, то для ускорения и уменьшения программы используем uint_fastXX_t.

3)Что вы понимаете под "надежностью" резисторов подтяжки? Производитель гарантирует, что их сопротивление будет находиться в определенном диапазоне. Если ваша схема будет работать во всем этом диапазоне - можете смело использовать внутренние.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
Jenya7
сообщение Nov 11 2013, 06:25
Сообщение #3


Профессионал
*****

Группа: Участник
Сообщений: 1 778
Регистрация: 29-03-12
Пользователь №: 71 075



Цитата(Сергей Борщ @ Nov 11 2013, 04:27) *
1) По какому критерию вы считаете лучше/хуже?

2)Если нужен конкретный размер (осознанное переполнение, структуры кадров протокола) - используем uintXX_t. Если же размер не критичен, лишь бы влезло, то для ускорения и уменьшения программы используем uint_fastXX_t.

3)Что вы понимаете под "надежностью" резисторов подтяжки? Производитель гарантирует, что их сопротивление будет находиться в определенном диапазоне. Если ваша схема будет работать во всем этом диапазоне - можете смело использовать внутренние.


я наверно должен был добавить,что меня интересует скорость а не размер программы. более правильный вопрос как быстрее а не как лучше.
насчет резисторов подтяжки меня как то пугали что внутренние плохо "держат", уж не знаю какой физический смысл в это вкладывался.
Go to the top of the page
 
+Quote Post
adnega
сообщение Nov 11 2013, 06:48
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 2 724
Регистрация: 14-05-07
Из: Ярославль, Россия
Пользователь №: 27 702



Цитата(Jenya7 @ Nov 11 2013, 10:25) *
я наверно должен был добавить,что меня интересует скорость а не размер программы. более правильный вопрос как быстрее а не как лучше.
насчет резисторов подтяжки меня как то пугали что внутренние плохо "держат", уж не знаю какой физический смысл в это вкладывался.

Если нужна скорость, то никаких битовых полей.
Если ядро Cortex-M3, то используйте bit-band (и скорость и размер не страдают).
Резисторы подтяжки это ничто по сравнению с "выгоранием ноги". На STM32 если что не так на выводе микросхемы, то с 99% вероятностью
будет КЗ по питанию проца. Хотя, сам проц будет работать... жутко греется, но работает.
Go to the top of the page
 
+Quote Post
scifi
сообщение Nov 11 2013, 06:57
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



Цитата(adnega @ Nov 11 2013, 10:48) *
Резисторы подтяжки это ничто по сравнению с "выгоранием ноги". На STM32 если что не так на выводе микросхемы, то с 99% вероятностью будет КЗ по питанию проца. Хотя, сам проц будет работать... жутко греется, но работает.

Это вы про тиристорное защёлкивание рассказываете? Не пугайте человека, особенно вот этими высосанными из пальца "99%" и мистическими "что-то не так". В моей практике ни разу такого не было.
Go to the top of the page
 
+Quote Post
adnega
сообщение Nov 11 2013, 07:45
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 2 724
Регистрация: 14-05-07
Из: Ярославль, Россия
Пользователь №: 27 702



Цитата(scifi @ Nov 11 2013, 10:57) *
Это вы про тиристорное защёлкивание рассказываете? Не пугайте человека, особенно вот этими высосанными из пальца "99%" и мистическими "что-то не так". В моей практике ни разу такого не было.

А в моей было несколько раз.
Причина - аварийное отрывание провода под напряжением и попадание его в случайное место на плате.
Или подключение отладчика сначала к ПК, а затем к процу.
Вот с AVRками такое тоже было не раз, но без необратимых последствий))
Пугать не хочу, ибо пользуюсь STM32 серийно - полет нормальный. Но при переходе с AVR можно заметить некоторую "нежность".
Если речь идет о пулапе и проводах к кнопке, делаю вывод, что будет сэкономлен один внешний резистор, а уж дополнительная защита
тем более не будет установлена, то о "мистике" мы еще поговорим(
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Jenya7   Несколько вопросов у новичка   Nov 10 2013, 10:52
- - pitt   Отвечаю на первые два вопроса: универсального реше...   Nov 10 2013, 12:00
|- - Jenya7   Цитата(pitt @ Nov 10 2013, 17:00) По втор...   Nov 10 2013, 12:39
|- - HHIMERA   Цитата(pitt @ Nov 10 2013, 15:00) проще и...   Nov 10 2013, 21:27
- - scifi   Цитата(Jenya7 @ Nov 10 2013, 14:52) 1.Есл...   Nov 10 2013, 13:36
- - smk   Посмотрите схемотехнику плат DISCOVERY. Вам как но...   Nov 10 2013, 13:48
- - Jenya7   большое спасибо за ответы.   Nov 10 2013, 14:25
- - Golikov A.   я бы с битовыми полями не игрался, памяти сейчас в...   Nov 10 2013, 21:31
|- - scifi   Цитата(Jenya7 @ Nov 11 2013, 10:25) я нав...   Nov 11 2013, 06:43
||- - HHIMERA   Цитата(adnega @ Nov 11 2013, 11:45) А в м...   Nov 11 2013, 08:02
||- - A.Lex   Цитата(adnega @ Nov 11 2013, 09:45) А в м...   Nov 11 2013, 09:36
|- - Сергей Борщ   QUOTE (Jenya7 @ Nov 11 2013, 09:25) меня ...   Nov 11 2013, 07:10
- - Jenya7   в серьезных приборах (скажем серво драйверы) приня...   Nov 11 2013, 10:37
- - Сергей Борщ   QUOTE (Jenya7 @ Nov 11 2013, 13:37) и все...   Nov 11 2013, 11:47


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 31st July 2025 - 22:31
Рейтинг@Mail.ru


Страница сгенерированна за 0.01449 секунд с 7
ELECTRONIX ©2004-2016