Работа с голым микроконтроллером
Вставка
- Опубліковано 10 вер 2024
- Содержание:
- Преимущества
- Семейства AVR МК
- Типы корпусов и маркировка МК
- Компиляторы и программаторы
- Фьюзы
- Задание: генератор на ATtiny13
- Установка ядра в Arduino IDE
- Моделирование в Протеусе
- Контрольные вопросы
- Ссылки
Хоть прошел все это, но все равно с интересом смотрел, спасибо 👍
Благодарю за информацию!
приветствую. чувствую канал будет полезным
Со средой ардуино понятно. С тиньками не совсем просто из за ограниченного функционала. Сейчас новая серия 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
Сколько же лентяев ардуиншиков в мире.
Лень - двигатель прогресса)