Форум программистов, компьютерный форум, киберфорум
Микроконтроллеры
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.94/161: Рейтинг темы: голосов - 161, средняя оценка - 4.94
0 / 0 / 0
Регистрация: 18.03.2017
Сообщений: 43
1

Знакомство с микроконтроллерами

21.03.2017, 14:04. Показов 32107. Ответов 164
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Желаю ознакомиться с мк но не знаю с чего начать.Что можете подсказать?Хотелось бы пощупать данную область с чего то простого к более сложному.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.03.2017, 14:04
Ответы с готовыми решениями:

Задача с микроконтроллерами
Система обработки информации содержит мультиплексный канал и три микроконтроллера. Сигналы от...

Протокол обмена между 2 микроконтроллерами
Привет все. Попробую кратко обрисовать проблему. Есть девайс, у девайса 2 микроконтроллера...

Обмен данными между микроконтроллерами
Здравствуйте, уважаемые форумчане! Возникла потребность организовать обмен данными между 7...

Обмен файлами между микроконтроллерами
Здравствуйте, форумчане. Возникла проблема, ломаю голову над ее решением. Сначала про то, что...

164
0 / 0 / 0
Регистрация: 09.09.2011
Сообщений: 168
22.09.2017, 19:27 141
Author24 — интернет-сервис помощи студентам
Цитата Сообщение от dosykus_2
В даташите , см конфигурацию пинов для своего типа корпуса.

http://**************************/download/file.php?id=33010&sid=95b5438d2e9d65b92968c47556a9783d

Меня смутило вот это?!
Цитата Сообщение от BusMostir
Поверните плату Дискавери лицевой стороной (микросхемами) к глазам и посмотрите по краям возле штырей разъемов - там написаны буквы и номера портов :)))
Да, теперь понял PA1-15 - это GPIOA!
0
0 / 0 / 0
Регистрация: 30.04.2015
Сообщений: 721
23.09.2017, 12:07 142
Цитата Сообщение от BusMostir
Цитата Сообщение от pytrpts
Для ознакомления с макетами рекомендую использовать "светодиоды ...
... откройте для себя мир осциллографов и лог.анализаторов для ознакомления :)))) штоп не париться со светодиодами то...
Например я для дома использую сравнительно недорогой осцилл-аналайзер (на работе конечно покруче, Тектрониксы всякие, но то работа, а это дом...)
вот она, работа SDROM во всей красе, так-скать. попробуйте светодиодами еёйную

http://i7.5cm.ru/t/NPUm.jpg

Если понимаешь, что самому не переделать такую платку, то можно купить в коробочке за 550 рублей уже готовый анализатор... но там тоже лотерея с микросхемой памяти и возможно её придётся менять на 24C01, чтобы программа не перезатирала её как "контрафактную"

Из недостатков бытовых запоминающих осциллографов:
- у них маленькая глубина записи... по сравнению с безграничными объёмами жесткого диска на компе
- при работе в многоканальном режиме частота выборки пропорционально снижается...
- у некоторых моделей имеются программные ошибки в режиме анализатора... какие то устраняют, какие то нет...

Подключать полметровый шлейф антенн к SDROM и надеяться на отсутствие сбоев ? Можно о теории глюков потом долго спорить :)
откройте для себя мир осциллографов и лог.анализаторов для ознакомления
да как бы давно в том мире живём... даже когда USBee не было, то делали свои
кстати микросхема CY7C68013A используется (до сих пор ?) в макетках АЦП от Analog Device
шлейф и щупы старенького домашнего MSO как бы "200" МГц и отдельная платка анализатора RS-485 с сегодняшней кружкой кофе :)

http://i7.5cm.ru/t/osry.jpg
0
0 / 0 / 0
Регистрация: 09.09.2011
Сообщений: 168
23.09.2017, 23:32 143
Мучаю SysTick таймер. Не могу понять, чему равна переменная "SystemCoreClock". Теоретически: 24МГц - тактовая частота МК. Это подтверждает system_stm32f10x.c:
Код
#if defined (STM32F10X_LD_VL) || (defined STM32F10X_MD_VL) || (defined STM32F10X_HD_VL)
/* #define SYSCLK_FREQ_HSE    HSE_VOTUE */
#define SYSCLK_FREQ_24MHz  24000000
#else
/* #define SYSCLK_FREQ_HSE    HSE_VOTUE */
/* #define SYSCLK_FREQ_24MHz  24000000 */
/* #define SYSCLK_FREQ_36MHz  36000000 */
/* #define SYSCLK_FREQ_48MHz  48000000 */
/* #define SYSCLK_FREQ_56MHz  56000000 */
#define SYSCLK_FREQ_72MHz  72000000
#endif
...
#ifdef SYSCLK_FREQ_HSE
uint32_t SystemCoreClock         = SYSCLK_FREQ_HSE;        /*!< System Clock Frequency (Core Clock) */
#elif defined SYSCLK_FREQ_24MHz
uint32_t SystemCoreClock         = SYSCLK_FREQ_24MHz;        /*!< System Clock Frequency (Core Clock) */
#elif defined SYSCLK_FREQ_36MHz
uint32_t SystemCoreClock         = SYSCLK_FREQ_36MHz;        /*!< System Clock Frequency (Core Clock) */
#elif defined SYSCLK_FREQ_48MHz
uint32_t SystemCoreClock         = SYSCLK_FREQ_48MHz;        /*!< System Clock Frequency (Core Clock) */
#elif defined SYSCLK_FREQ_56MHz
uint32_t SystemCoreClock         = SYSCLK_FREQ_56MHz;        /*!< System Clock Frequency (Core Clock) */
#elif defined SYSCLK_FREQ_72MHz
uint32_t SystemCoreClock         = SYSCLK_FREQ_72MHz;        /*!< System Clock Frequency (Core Clock) */
#else /*!< HSI Selected as System Clock source */
uint32_t SystemCoreClock         = HSI_VOTUE;        /*!< System Clock Frequency (Core Clock) */
#endif
Но фактически SystemCoreClock/100 = ~5сек. Что ближе к 0.48МГц. Что я упускаю?
0
0 / 0 / 0
Регистрация: 26.01.2009
Сообщений: 3
24.09.2017, 09:59 144
Цитата Сообщение от pytrpts
- логические уровни 3,3 вольта STM32 можно подключать напрямую на ножки, для уровней ТТЛ и AVR 5 вольт надо добавлять преобразователь уровня с 5 до 3 вольт в виде микросхемы или диодов
У CY7C68013A все входы до 5,25 В.
0
5 / 5 / 1
Регистрация: 06.11.2013
Сообщений: 35
24.09.2017, 12:17 145
Прям завидую, тем кто осваивает программирование, пишет программы под свои проекты. Паяю периодически почти 30 лет, повторить устройство, найти косяки, если они были, при повторении конструкции, и отстроить, могу без проблем, но вот что касается контроллеров...Видимо это мне не дано с Выше...Как только не пытался вникнуть, вообще не могу понять, как что и зачем пишется, откуда и как берется...Даже в скетчи ардуиновские не могу вникнуть, что говорить, до меня даже не доходит что изменить в готовом скетче, конечено если будет подробно описано, какие буквы и цифры в какой строке переписать, но сам вообще не способен вникнуть. Вообще с математикой у меня с детства очень большие проблемы были, мягко сказать...Как работают логические элементы, триггеры, счетчики, мультиплексоры, основы логики знаю, а вот во всякие листинги, переменные, вообще не могу вникнуть, это что то для меня запредельное...Так вот посмотришь, один освоил, уже свой какой то проект сделал, на контроллере, другой полностью сделал какие нибудь часы, хотя начал заниматься электроникой, всего пару лет назад, а тут больше полжизни сидел с паяльником, и вообще не можешь в это дело вьехать, только повторить готовое, на что хватает, это опять же повторять программаторы (покупать готовые не интересно) да запрограммировать готовой программой...Так и отпадает желание заниматься этим делом...Создать свое не хватает мозгов, а повторить и медведь сможет, если его научить, к тому же, дешевле гораздо купить готовое, чем тупо заказывать элементы, и повторять конструкцию...Так вот психанешь, бросишь...А спустя время все равно душа болит, по запаху канифоли...
0
1 / 1 / 0
Регистрация: 06.12.2016
Сообщений: 3,946
24.09.2017, 13:26 146
Цитата Сообщение от pytrpts
для уровней ТТЛ и AVR 5 вольт надо добавлять преобразователь уровня с 5 до 3 вольт в виде микросхемы или диодов
Мда... И даже здесь петя умудрился жиденько обгадиться ...

3.3-V operation wyth 5-V toterant inputs
Ну да, сам-то ничего сделать не могет , потреблятор...

2012г.




0
0 / 0 / 0
Регистрация: 06.12.2016
Сообщений: 737
24.09.2017, 13:47 147
Цитата Сообщение от syb
Паяю периодически почти 30 лет, повторить устройство, найти косяки, если они были, при повторении конструкции, и отстроить, могу без проблем, но вот что касается контроллеров...Видимо это мне не дано с Выше...
А это, видимо, потому, что РК-86 в свое время прошла, к сожалению, как-то мимо Вас(((((
0
0 / 0 / 0
Регистрация: 30.04.2015
Сообщений: 721
24.09.2017, 22:44 148
Цитата Сообщение от dosykus_2
Ну да, сам-то ничего сделать не могет , потреблятор...
2012г.
ты "тормоз"... в смысле другие сделали ещё в 2009-ом :)
хотя с платами AD использовали ещё раньше

2011; проба ЛУТа на люминевой фольге... с RS-485

http://i7.5cm.ru/t/NofX.jpg


люминий не понравился :(
протокол расшифровал и использовал втайне, благодаря чему оборудование осталось в целости и сохранности, так как без протокола ни один несун на нескольких объектах по штуке упёр, но не смог включить :) поэтому и не воровали.
тоже 2011-ый

http://i7.5cm.ru/t/zzKV.jpg

работал на мифическое существо по проекту с кодовым названием "100 миллионов" :)
дефляция... в этом году меняют название проекта на "50 миллионов" :(

насколько помню ты там ничего из себя не представлял, поэтому рассуждаешь о любви к толерантности :)

http://i7.5cm.ru/t/IXoc.jpg


для новичков рекомендую купить плату за 350 рублей и не мучаться с очень мелким шагом... микросхемы штучно тут и там продаются дороже чем на указанной платке :)
0
1 / 1 / 0
Регистрация: 06.12.2016
Сообщений: 3,946
24.09.2017, 23:11 149
Цитата Сообщение от pytrpts
ты "тормоз"... в смысле другие сделали ещё в 2009-ом :)
А теперь умник сходи на казус.ру
http://kazus.ru/forums/showthread.php?t=13702
http://kazus.ru/forums/showthread.php?t=13724
и посмотри кто первый нашел сии плюшки и кто первый начал юзать.
И это всяко не ты.Так-что и здесь ты обосрамши...
В 2009 было сделана на 100 ногом и эта плата ушла в подарок. Вся остальная твоя писанина очередной бред...
0
0 / 0 / 0
Регистрация: 06.12.2016
Сообщений: 382
24.09.2017, 23:21 150
Цитата Сообщение от koromok
Но фактически SystemCoreClock/100 = ~5сек. Что ближе к 0.48МГц.
Как это вы так вычислили?
SystemCoreClock/100 оно и равно SystemCoreClock деленное на 100.

Напишите в main()
SysTick_Config(SystemCoreClock/1000);
и вы получите прерывания с частотой 1000 Гц, потому что значение перезагрузки для системного таймера будет = 24`000`000 / 1`000 = 24`000, то есть, системная частота будет делиться на 24`000:
24`000`000 / 24`000 = 1000, то есть, прерывания от системного таймера будут возникать как раз ровно через 1 мс или с частотой 1000 Гц.

Теперь напишем обработчик этого прерывания:
Код
void SysTick_Homdler(void)
{
/* Простая блокирующая задержка*/
if (BDelayValue)
BDelayValue--;
}
И напишем функцию для системной задержки:
Код
void BDelay_ms(uint32_t storttime)
{
BDelayValue = storttime;
while (BDelayValue);
}
Определим в начале файла глобальную переменную
uint32_t BDelayValue;
и прототип
void BDelay_ms(uint32_t storttime);

и в main() напишем следующее:
Код
int main(void)
{
SysTick_Config(SystemCoreClock/1000);   // настройка системного таймера на период прерыв. 1 мс

RCC->APB2ENR |= RCC_APB2ENR_IOPCEN;  // тактирование GPIOC

GPIOC->CRH &= ~(GPIO_CRH_CNF9 | GPIO_CRH_CNF8); // PC8 и PC9 - выходы (светодиоды платы)
GPIOC->CRH |= GPIO_CRH_MODE9_0 | GPIO_CRH_MODE8;

while (1)
{
GPIOC->BSRR = 1 << 9;   // включение зеленого светодиода
BDelay_ms(250);       // задержка на 250 мс
GPIOC->BRR = 1 << 9;    // отключение зеленого светодиода
BDelay_ms(750);      // задержка 750 мс
}
}
0
0 / 0 / 0
Регистрация: 30.04.2015
Сообщений: 721
24.09.2017, 23:40 151
я и писал про 2009-ый... и ссылку в картинке привёл... но это не ты сделал, а украинцы ... Карбон обнародил тему :)
твои навыки применения неприличных среди нормальных людей слов в той разработке никому не были нужны :)
в 2008 был вот такой подарок :) 56-ти ногий на платах AD

http://i7.5cm.ru/t/Nfd8.jpg


то есть в очередной раз ты провоцируешь админов, чтобы за твоё поведение был повод наказать предупреждениями других :(
0
1 / 1 / 0
Регистрация: 06.12.2016
Сообщений: 3,946
24.09.2017, 23:57 152
А ещё не я разработал саму кипарисину.
Петя тебя снова понесло, ни головой не научился думать ни руками делать...
0
0 / 0 / 0
Регистрация: 06.12.2016
Сообщений: 2,309
25.09.2017, 00:32 153
2 dosykus_2 & pytrpts
Ребят, оффтоп чуток: такое ощущение что вы друг друга знаете уже лет эдак 20, и давным давно что-то не поделили. Потому каждый раз стараетесь друг другу подкузьмить при случае :-)

Не, оно весело конечно, но прям как-то по-детски что ли... Но эт мое мнение просто, не навязываю...
0
0 / 0 / 0
Регистрация: 30.04.2015
Сообщений: 721
25.09.2017, 11:06 154
Цитата Сообщение от VyvotzorD
2 dosykus_2 & pytrpts
Ребят, оффтоп чуток: такое ощущение что вы друг друга знаете уже лет эдак 20, и давным давно что-то не поделили. Потому каждый раз стараетесь друг другу подкузьмить при случае :-)
Не, оно весело конечно, но прям как-то по-детски что ли... Но эт мое мнение просто, не навязываю...
я его не знаю и не пересекался с ним...
я его не трогаю...
но он нападает на всех подряд... и на стара и на млада ... и на новичка и на старичка...
ненавидит всех работающих...
особенную ненависть вызывают работающие на Государство Россия {del}
Цитата Сообщение от pytrpts 19 сен 2017
Сегодня оказывается праздник... с "Днём мясорубщика" :)
очень боится мясорубок :)
любит употреблять слово ***** ...
но это форум по электронике, а не по психологии и гадании от чего он тут так себя ведёт.
0
0 / 0 / 0
Регистрация: 10.08.2010
Сообщений: 22
30.05.2018, 19:39 155
Добрый день. Хочу разобраться в МК. Пожалуйста, подскажите стоит ли начинать сейчас с АВР? Вопрос возник по двум причинам:
1. Атмел была куплена Микрочипом и теперь неизвестно, что будет дальше с АВР.
2. Хотел начать с 8 битного МК. И на сколько знаю АВР проще всего для начала освоения МК.
0
1176 / 653 / 111
Регистрация: 15.05.2012
Сообщений: 4,015
31.05.2018, 04:59 156
Для чего?
0
0 / 0 / 0
Регистрация: 10.08.2010
Сообщений: 22
31.05.2018, 11:03 157
1. Самому интересно;
2. Думаю, что в будущем мне это пригодится;
3. Возможно в скором времени у нас появится дисциплина связанная с программированием МК (Ардуино не хочется).
0
Почетный модератор
11525 / 4320 / 448
Регистрация: 12.06.2008
Сообщений: 12,412
31.05.2018, 16:04 158
Цитата Сообщение от YourDefender Посмотреть сообщение
Атмел была куплена Микрочипом и теперь неизвестно, что будет дальше с АВР.
Вроде уже 2 года как купили и ничего. Фирмы покупают друг друга не для того, что бы разорить, а для того, что бы деньги зарабатывать.

Цитата Сообщение от YourDefender Посмотреть сообщение
Хотел начать с 8 битного МК. И на сколько знаю АВР проще всего для начала освоения МК.
В целом, вряд ли там что-то так сильно отличается от тех же PIC'ов и STM8. Возможно, примеров в интернете больше.
0
4393 / 2243 / 252
Регистрация: 28.10.2011
Сообщений: 8,574
Записей в блоге: 6
31.05.2018, 20:44 159
Цитата Сообщение от YourDefender Посмотреть сообщение
2. Хотел начать с 8 битного МК.
Почему? 32-ух битные стоят столько же или даже дешевле и возможностей у них гораздо больше.
0
0 / 0 / 0
Регистрация: 10.08.2010
Сообщений: 22
31.05.2018, 21:23 160
Я не спец в этой теме, но насколько я знаю из прочитанного мною, то 32 битные сложны в изучении. Поэтому пришёл к выводу, что нужно начать с 8 битных. К тому же считаю, что для тех задач, которые я поначалу буду решать их вполне достаточно. Например, обычное включение и выключение устройств, измерение различных величин, работа с ЖК-дисплеем ...
Просто я сторонник, той теории, что нужно начать с малого и дальше развиваться. А не начинать с самого крутого, изучить чуть-чуть и забуксовать в результате непосильной задачи.
Я ошибаюсь?
0
31.05.2018, 21:23
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
31.05.2018, 21:23
Помогаю со студенческими работами здесь

Какая разница между микроконтроллерами?
В чем разница между ATMEGA 48 и ATMEGA 168?? В просторах интернета мануал для них один, но ведь...

Передача данных между двумя микроконтроллерами
Не получается реализовать передачу данных между микроконтроллерами двумя ATMEGA88. Среда либо...

Какими микроконтроллерами можно прокачать 52МБита?
Добрый день! Я практически полный нуб, успел немного поковыряться с atmega (с-диоды, УЗ датчик и...

LibreOffice Base возможна ли работа с микроконтроллерами?
LibreOffice Base возможна ли работа с микроконтроллерами? подключение к ним или считывание...

Каких деталек накупить для "поиграть" с микроконтроллерами?
Каких деталек накупить для &quot;поиграть&quot; с микроконтроллерами и т.п.? Ну в смысле - какие наиболее...

На чем лучше написать приложение для работы с микроконтроллерами?
Не так давно стал программистом микроконтроллеров. Кодю на заточенный под контроллер basic и ...

Обмен данными по последовательному интерфейсу USB между микроконтроллерами и ПЭВМ
Объясните для чего в коде используется цикл,пожалуйста. Почему именно while(i&lt;5)? for(i =...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
160
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru