Работа с голым микроконтроллером
Вставка
- Опубліковано 9 лют 2025
- Содержание:
Преимущества
Семейства AVR МК
Типы корпусов и маркировка МК
Компиляторы и программаторы
Фьюзы
Задание: генератор на ATtiny13
Установка ядра в Arduino IDE
Моделирование в Протеусе
Контрольные вопросы
Ссылки
Хоть прошел все это, но все равно с интересом смотрел, спасибо 👍
7.30 ну только вы же не договариваете😊 все тот же код на Си спокойно можно писать и в ArduinoIDE и он скомпилирует с тем же объемом флеша. А Serial.print() можно использовать в любой момент, что очень сильно упрощает отладку. Так, что очевидных преимуществ на самом деле нет, а только одни предрассудки догматиков 🙂
Благодарю за информацию!
Дмитрий, по моему пропустили описание 2х самых главных фьюзов: RSTDSBL, и SPIEN при включении которых (запись в них 0) отключается сброс мк и возможность его прошивки через SPI.
@@arduino.donbass Согласен, пропустил
Не совсем корректно назввать CodeVisionAVR компилятором. По факту это такая-же соеда разработки как и Arduino IDE, которая использует тот же компилятор AVR GCC. Только она работает исключительно с именами регистров МК и их отдельными битами и не содержит чисто "ардуиновских" функций типа pinMode(), digitalWrite() и т.д. А вот Arduino IDE может работать и с именами регистров и с ардуиновскими функциями. Хорошие уроки лет 10-15 нащад были у Дмитрия Осипова по этой теме, но с человеком что-то случилось в психическом плане и он ушел в религию
приветствую. чувствую канал будет полезным
Со средой ардуино понятно. С тиньками не совсем просто из за ограниченного функционала. Сейчас новая серия AVR128DA48 типа мощная
18:00 а этот код как будет выглядеть в кодевизарде? для меня это код ардуиновский трудно понятен по сравнению с кодевизардам. сможете показать какой будет код в кодевизарде? заранее спасибо.
Что именно вы хотите сделать? Какая задача?
@@dmitrykuznetsov5468 в общем я постоянно использовал для задержки delay. а это очень мешает когда используешь кнопки, я например хочу сделать регулятор частоты, и измеритель частоты, я что то не знаю как правильно сделать. регулятор частоты импульсов для управление шаговым двигателем step. dir, а измеритель частоты он будет измерять частоту и если например частота выше 100гц то выполнить какой то код, или задействовать выход шим чтобы сбавить обороты, и многое другое по этой части приходится собирать но вот с таймером у меня чуть беда.
@@dargindarginec9561
Project : Генератор (ГПИ) 5 - 1400 Гц с шагом 5 Гц, частота пуска 800 Гц
Version :
Chip type : ATmega8
Program type : Application
AVR Core Clock frequency: 10,000000 MHz
Memory model : Small
External RAM size : 0
Data Stack size : 256
*****************************************************/
#include
#include
float k=0; // прибавочное число к делителю частоты - 0.0125 шаг 5 Гц.
flash unsigned char byte [] = {3, 3, 2, 2};
void main(void)
{
PORTB=0x00;
DDRB=0x02;
PORTC=0x3F;
DDRC=0x00;
PORTD=0x00;
DDRD=0x00;
TCCR0=0x00;
TCNT0=0x00;
TCCR1A=0x00;
TCCR1B=0x00;
TCNT1H=0x00;
TCNT1L=0x00;
ICR1H=0x00;
ICR1L=0x00;
OCR1AH=0x00;
OCR1AL=0x00;
OCR1BH=0x00;
OCR1BL=0x00;
ASSR=0x00;
TCCR2=0x00;
TCNT2=0x00;
OCR2=0x00;
MCUCR=0x00;
TIMSK=0x00;
UCSRB=0x00;
ACSR=0x80;
SFIOR=0x00;
ADCSRA=0x00;
SPCR=0x00;
TWCR=0x00;
while (1)
{
unsigned long a = 800; // необходимая частота (Гц)
unsigned long c = OCR1A ;
unsigned long F_PU = 10005000;
char i=0;
float h;
if (PINC.0==0){delay_ms(100); k+=0.0125; // при нажатии кнопки PС.0 делитель h увеличивается на 0.125
while (PINC.0==0){}
}
if (PINC.1==0){delay_ms(100); k-=0.0125; // при нажатии кнопки PС.1 делитель h уменьшается на 0.125
while (PINC.1==0){}
}
h=2+k;
if(h=3.5) // если данные h больше этих значений, то
{
k=0; // значения делителя h будут равны 2
}
c = (F_PU / a / h);
for (i = 0; i < 4; i++)
{
// если частота ниже 76 Гц, то выполняется данная команда
if (c > 65536) {
d
На дизассемблирование надо ещё сделать ролик
Почему все учителя рассказывают как программировать буржуйские МК из буржуйских сред программирования?!!! У рассиян разве нет чего то своего? Чего то отечественного?!!!
Сколько же лентяев ардуиншиков в мире.
Лень - двигатель прогресса)