Поиск сообщества
Показаны результаты для тегов 'proteus'.
Найдено: 46 результатов
-
Обсуждение статьи, опубликованной на сайте: Многофункциональный частотомер на PIC16F628A и LED индикаторах Это прибор по мотивам некогда популярного частотомера Денисова. Не смотря на примененный недорогой и с ограниченными возможностями микроконтроллер, на мой взгляд, прибор имеет неплохие характеристики и функциональные возможности: «обычное» измерение частоты путем счета количества импульсов в течении одной секунды; измерение частоты низкочастотных сигналов через измерение периода (F=1/T) с точностью 0.001 Гц; измерение периода сигнала, причем для высокочастотных сигналов через частоту (T=1/F); измерение длительности как положительных, так и отрицательных импульсов. Так же имеется возможность сохранения в энергонезависимой памяти по одному измеряемому значению для каждого режима, с последующим просмотром при необходимости. Предусмотрено оперативное изменение ряда настроек прибора и автоматическое выключение при отсутствии воздействия на прибор в течении определенного времени. Здесь можно высказать свои соображения о статье, а так же задавать общие вопросы по статье. Вопросы, имеющие практическое значение при повторении, лучше задавать в коментариях к статье, чтобы вопрос и ответ видели все пользователи, читающие статью.
- 16 ответов
-
1
-
- PIC
- Микроконтроллер
-
(и ещё 3 )
C тегом:
-
Мигание светодиодов с разной скоростью и направлением
slava_q9 опубликовал тема в Школьникам и студентам
Возникли проблемы с реализацией цикличного мигания светодиодов с переключением скорости и направления по кнопке. Схема не реагирует на нажатие кнопки на PD7 (изменение скорости), изменение направления (на PD6) происходит только тогда, когда не горит ни один диод. Обязательно нужно применить прерывания по таймеру-счетчику, Преподаватель рекомендовал библиотеку axlib/timers.h. Задание: 8 светодиодов сделать сквозное переключение (циклично). Введем несколько режимов скорости (3 режима). Взять в 2 раза увеличивающий период (использовать библиотеку по таймерам) При работе с таймер счетчиком использовать прерывание Подключить семисегментый индикатор (будут отображаться только режимы скорости). 2 кнопки (одна меняет скорость, другая направление). Схема: Код программы: #define DEBOUNCE_DELAY_MS 100 #define F_CPU 1000000UL // Определение частоты процессора для функций задержки #include <avr/io.h> // AVR стандартные функции ввода-вывода #include <util/delay.h> // Функции задержки #include <main_init.h> #include <axlib/timers.h> #include <axlib/ports.h> // Глобальные переменные volatile uint8_t speedMode = 50; // Текущий режим скорости volatile uint8_t ledState = 0; // Состояние светодиодов volatile uint8_t direction = 1; // Направление сдвига светодиодов volatile uint32_t lastDebounceTime = 0; // Функция для изменения режима скорости void changeSpeedMode() { speedMode=speedMode * 10; if (speedMode > 2000) { speedMode = 50; } } // Глобальные переменные volatile uint8_t lastButtonState = 0; // Последнее состояние кнопки volatile uint8_t debounceDelay = 50; // Задержка для отсеивания дребезга (в миллисекундах) // Функция для изменения направления сдвига светодиодов с защитой от дребезга void changeDirection() { uint8_t currentButtonState = ~PIND & (1<<6); // Текущее состояние кнопки if (currentButtonState != lastButtonState && currentButtonState == 0) { // Если состояние кнопки изменилось и она нажата _delay_ms(250); // Задержка для фильтрации дребезга // Проверка, что кнопка все еще нажата после задержки direction = !direction; // Изменение направления, если состояние кнопки стабильно } lastButtonState = currentButtonState; // Обновление последнего состояния кнопки } int main(void) { DDRA = 0b11111111; MCUCR = 0b00000010; // Конфигурация управления сенсором прерывания для INT0 //sei (); DDRD &= ~((1<<2)) | ((1<<6)) | ((1<<7)); // Настройка PD2, PD6, PD7 как входы PORTD |= ((1<<2)) | ((1<<6)) | ((1<<7)); // Установка 2, 6 и 7 пинов в состояние логическая единица DDRC = 0b11111111; // Настройка порта C на выходы PORTC = 0b00000000; // Инициализация PORTC для отображения всех светодиодов выключенными timers_init(); // Проинициализировали таймер Т2 timer(TIMER_7, speedMode, ON); //PORTC_OUT(0,1,2,3,4,5,6,7); while(1) { changeDirection(); PORTA = 0b00000000; // Сдвиг светодиодов if (direction) { PORTA |= (1 << 7); // Установка бита PA7 PORTC = 0b10000000; // Установка PORTC для отображения двоичного счетчика 10000000 _delay_ms(250); // Задержка 250 миллисекунд PORTC = 0b01000000; _delay_ms(250); PORTC = 0b00100000; _delay_ms(250); PORTC = 0b00010000; _delay_ms(250); PORTC = 0b00001000; _delay_ms(250); PORTC = 0b00000100; _delay_ms(250); PORTC = 0b00000010; _delay_ms(250); PORTC = 0b00000001; _delay_ms(250); PORTC = 0b00000000; } else { PORTA &= ~(1 << 7); // Последовательность мигания в произвольном порядке PORTC = 0b00000000; _delay_ms(250); PORTC = 0b00000001; _delay_ms(250); PORTC = 0b00000100; _delay_ms(250); PORTC = 0b00010000; _delay_ms(250); PORTC = 0b01000000; _delay_ms(250); PORTC = 0b10000000; _delay_ms(250); PORTC = 0b00100000; _delay_ms(250); PORTC = 0b00001000; _delay_ms(250); PORTC = 0b00000010; _delay_ms(250); PORTC = 0b00000000; } if (!(PIND & (1<<7))) { _delay_ms(200); PORTA |= (1 << 2); changeSpeedMode(); } } } Сам проект прикреплен. project_Code_sxema.zip -
Все вопросы возникающие при работе с Proteus задавайте только здесь! Все остальные темы посвящённые протеусу будут удалены! Работа в Proteus. Часть 1 Работа в Proteus. Часть 2 Работа в Proteus. Часть 3 Работа в Proteus. Часть 4
-
Здравствуйте! Делаю диплом на тему "Анализ профиля энергопотребления в архитектуре современных микроконтроллеров". В Proteus 8 собрал схему с микроконтроллером ATMega2560 с использованием двух светодиодов и написал код работы схемы (см. прикрепленный файл). Суть следующая: при запуске симуляции светодиоды поочерёдно загораются с интервалом в 1 секунду. А теперь вопрос: как мне измерить энергопотребление микроконтроллера при выполнении данной несложной задачки? Как корректно это сделать? Куда необходимо подключить амперметр и вольтметр? Буду также рад, если дадите какие-либо советы касательно самой схемы — вдруг, что-то можно сделать лучше. Просто сомневаюсь в том, правильно ли я вообще подключил порты к питанию и т.п. Заранее прошу прощения, если вопрос выглядит глуповатым. Я не толковый во всем этом Proteus 8 project ATMega2560.pdf
- 12 ответов
-
- помощь нужна
- Proteus
-
(и ещё 1 )
C тегом:
-
Здравствуйте, подскажите пожалуйста, можно ли сделать подобную схему в Proteus с микроконтроллером семейства STM32F вместо Arduino UNO? Если можно, то подскажите каким образом
-
Проверьте правильность составления схемы в Proteus
Super Akk опубликовал тема в Школьникам и студентам
Здравствуйте, проверьте пожалуйста правильность составления схемы в Proteus, так как я новичёк в этом деле. Микроконтроллер: LPC1343FHN33 Дисплей: ILI9341 Необходимо чтобы на дисплей выводился текст, изображение и аудио -
Здравствуйте, подскажите пожалуйста, как соединить микроконтроллер LPC1343FHN33 с SD Card?
-
Здравствуйте, подскажите пожалуйста, как подключить дисплей к микроконтроллеру посредством каскада сдвиговых регистров?
- 13 ответов
-
Необходимо найти три элемента для библиотеки Proteus
Super Akk опубликовал тема в Программное обеспечение
Здравствуйте, помогите пожалуйста найти три элемента для библиотеки Proteus, весь интернет обшарил, ничего не нашёл: 1) ESP32-WROOM-32 2) SN74LVC2G241 3) PLS06 -
Здравствуйте, извините за беспокойство, я новичок в этой теме. Подскажите пожалуйста, какую комбинацию «LOGICSTATE» необходимо прожать чтобы выводить слова на экран LCD. Смотрел это видео, но не получилось:
- 12 ответов
-
Здравствуйте, я работаю в Proteus и у меня возникла ошибка Simulation is not running in real time due to excessive CPU load Подскажите пожалуйста как её исправить Код прошивки: #include <lm3s300.h> // Graphic Display functions #include <glcd.h> // Font used for displaying text // on the graphic display #include <font5x7.h> // Declare your global variables here void main(void) { unsigned char odin[] = { 0x08, 0x00, 0x08, 0x00, #ifndef _GLCD_DATA_BYTEY_ 0x00, 0x10, 0x18, 0x14, 0x10, 0x10, 0x7C, 0x00, #else 0x00, 0x00, 0x48, 0x44, 0x7E, 0x40, 0x40, 0x00, #endif }; // Declare your local variables here // Variable used to store graphic display // controller initialization data GLCDINIT_t glcd_init_data; // Crystal Oscillator division factor: 1 #pragma optsize- CLKPR=(1<<CLKPCE); CLKPR=(0<<CLKPCE) | (0<<CLKPS3) | (0<<CLKPS2) | (0<<CLKPS1) | (0<<CLKPS0); #ifdef _OPTIMIZE_SIZE_ #pragma optsize+ #endif // Input/Output Ports initialization // Port B initialization // Function: Bit7=In Bit6=In Bit5=In Bit4=In Bit3=In Bit2=In Bit1=In Bit0=In DDRB=(0<<DDB7) | (0<<DDB6) | (0<<DDB5) | (0<<DDB4) | (0<<DDB3) | (0<<DDB2) | (0<<DDB1) | (0<<DDB0); // State: Bit7=T Bit6=T Bit5=T Bit4=T Bit3=T Bit2=T Bit1=T Bit0=T PORTB=(0<<PORTB7) | (0<<PORTB6) | (0<<PORTB5) | (0<<PORTB4) | (0<<PORTB3) | (0<<PORTB2) | (0<<PORTB1) | (0<<PORTB0); // Port C initialization // Function: Bit6=In Bit5=In Bit4=In Bit3=In Bit2=In Bit1=In Bit0=In DDRC=(0<<DDC6) | (0<<DDC5) | (0<<DDC4) | (0<<DDC3) | (0<<DDC2) | (0<<DDC1) | (0<<DDC0); // State: Bit6=T Bit5=T Bit4=T Bit3=T Bit2=T Bit1=T Bit0=T PORTC=(0<<PORTC6) | (0<<PORTC5) | (0<<PORTC4) | (0<<PORTC3) | (0<<PORTC2) | (0<<PORTC1) | (0<<PORTC0); // Port D initialization // Function: Bit7=In Bit6=In Bit5=In Bit4=In Bit3=In Bit2=In Bit1=In Bit0=In DDRD=(0<<DDD7) | (0<<DDD6) | (0<<DDD5) | (0<<DDD4) | (0<<DDD3) | (0<<DDD2) | (0<<DDD1) | (0<<DDD0); // State: Bit7=T Bit6=T Bit5=T Bit4=T Bit3=T Bit2=T Bit1=T Bit0=T PORTD=(0<<PORTD7) | (0<<PORTD6) | (0<<PORTD5) | (0<<PORTD4) | (0<<PORTD3) | (0<<PORTD2) | (0<<PORTD1) | (0<<PORTD0); // Timer/Counter 0 initialization // Clock source: System Clock // Clock value: Timer 0 Stopped // Mode: Normal top=0xFF // OC0A output: Disconnected // OC0B output: Disconnected TCCR0A=(0<<COM0A1) | (0<<COM0A0) | (0<<COM0B1) | (0<<COM0B0) | (0<<WGM01) | (0<<WGM00); TCCR0B=(0<<WGM02) | (0<<CS02) | (0<<CS01) | (0<<CS00); TCNT0=0x00; OCR0A=0x00; OCR0B=0x00; // Timer/Counter 1 initialization // Clock source: System Clock // Clock value: Timer1 Stopped // Mode: Normal top=0xFFFF // OC1A output: Disconnected // OC1B output: Disconnected // Noise Canceler: Off // Input Capture on Falling Edge // Timer1 Overflow Interrupt: Off // Input Capture Interrupt: Off // Compare A Match Interrupt: Off // Compare B Match Interrupt: Off TCCR1A=(0<<COM1A1) | (0<<COM1A0) | (0<<COM1B1) | (0<<COM1B0) | (0<<WGM11) | (0<<WGM10); TCCR1B=(0<<ICNC1) | (0<<ICES1) | (0<<WGM13) | (0<<WGM12) | (0<<CS12) | (0<<CS11) | (0<<CS10); TCNT1H=0x00; TCNT1L=0x00; ICR1H=0x00; ICR1L=0x00; OCR1AH=0x00; OCR1AL=0x00; OCR1BH=0x00; OCR1BL=0x00; // Timer/Counter 2 initialization // Clock source: System Clock // Clock value: Timer2 Stopped // Mode: Normal top=0xFF // OC2A output: Disconnected // OC2B output: Disconnected ASSR=(0<<EXCLK) | (0<<AS2); TCCR2A=(0<<COM2A1) | (0<<COM2A0) | (0<<COM2B1) | (0<<COM2B0) | (0<<WGM21) | (0<<WGM20); TCCR2B=(0<<WGM22) | (0<<CS22) | (0<<CS21) | (0<<CS20); TCNT2=0x00; OCR2A=0x00; OCR2B=0x00; // Timer/Counter 0 Interrupt(s) initialization TIMSK0=(0<<OCIE0B) | (0<<OCIE0A) | (0<<TOIE0); // Timer/Counter 1 Interrupt(s) initialization TIMSK1=(0<<ICIE1) | (0<<OCIE1B) | (0<<OCIE1A) | (0<<TOIE1); // Timer/Counter 2 Interrupt(s) initialization TIMSK2=(0<<OCIE2B) | (0<<OCIE2A) | (0<<TOIE2); // External Interrupt(s) initialization // INT0: Off // INT1: Off // Interrupt on any change on pins PCINT0-7: Off // Interrupt on any change on pins PCINT8-14: Off // Interrupt on any change on pins PCINT16-23: Off EICRA=(0<<ISC11) | (0<<ISC10) | (0<<ISC01) | (0<<ISC00); EIMSK=(0<<INT1) | (0<<INT0); PCICR=(0<<PCIE2) | (0<<PCIE1) | (0<<PCIE0); // USART initialization // USART disabled UCSR0B=(0<<RXCIE0) | (0<<TXCIE0) | (0<<UDRIE0) | (0<<RXEN0) | (0<<TXEN0) | (0<<UCSZ02) | (0<<RXB80) | (0<<TXB80); // Analog Comparator initialization // Analog Comparator: Off // The Analog Comparator's positive input is // connected to the AIN0 pin // The Analog Comparator's negative input is // connected to the AIN1 pin ACSR=(1<<ACD) | (0<<ACBG) | (0<<ACO) | (0<<ACI) | (0<<ACIE) | (0<<ACIC) | (0<<ACIS1) | (0<<ACIS0); ADCSRB=(0<<ACME); // Digital input buffer on AIN0: On // Digital input buffer on AIN1: On DIDR1=(0<<AIN0D) | (0<<AIN1D); // ADC initialization // ADC disabled ADCSRA=(0<<ADEN) | (0<<ADSC) | (0<<ADATE) | (0<<ADIF) | (0<<ADIE) | (0<<ADPS2) | (0<<ADPS1) | (0<<ADPS0); // SPI initialization // SPI disabled SPCR=(0<<SPIE) | (0<<SPE) | (0<<DORD) | (0<<MSTR) | (0<<CPOL) | (0<<CPHA) | (0<<SPR1) | (0<<SPR0); // TWI initialization // TWI disabled TWCR=(0<<TWEA) | (0<<TWSTA) | (0<<TWSTO) | (0<<TWEN) | (0<<TWIE); // Graphic Display Controller initialization // The KS0108 connections are specified in the // Project|Configure|C Compiler|Libraries|Graphic Display menu: // DB0 - PORTB Bit 0 // DB1 - PORTB Bit 1 // DB2 - PORTB Bit 2 // DB3 - PORTB Bit 3 // DB4 - PORTB Bit 4 // DB5 - PORTB Bit 5 // DB6 - PORTB Bit 6 // DB7 - PORTB Bit 7 // E - PORTC Bit 0 // RD /WR - PORTC Bit 1 // RS - PORTC Bit 2 // /RST - PORTC Bit 3 // /CS1 - PORTC Bit 4 // /CS2 - PORTC Bit 5 // Specify the current font for displaying text glcd_init_data.font=font5x7; // No function is used for reading // image data from external memory glcd_init_data.readxmem=NULL; // No function is used for writing // image data to external memory glcd_init_data.writexmem=NULL; glcd_init(&glcd_init_data); glcd_putimage(0,0, odin, GLCD_PUTCOPY); while (1) { // Place your code here } } Схема прикреплена ниже в архиве Схема.rar
- 6 ответов
-
- Proteus
- микроконтроллер
- (и ещё 8 )
-
Здравствуйте помогите пожалуйста разобраться. Скачал готовый проект в интернете для приёма и отображения данных на дисплее через ком-порт по протоколу NMEA. И вот пытаюсь просимулировать его в протеусе, но увы не получается, а точнее не принимает ком-порт скорее всего. Прилагаю проект и то что я набросал для протеуса. Спасибо! GPS.rar
-
Здравствуйте, товарищи форумчане! У меня вот такая проблемка: есть такая схема: По сути тут stm32 на который подаётся некоторое постоянное напряжение, а именно на вход PA1. МК получает его, приводит в цифровую форму (разрядность АЦП равна восьми) и выводит их при помощи восьми GPIO выводов, а именно PB0-PB7. Эти выводы соединены со схемой ЦАП, которая преобразует значение, полученное от stm32 обратно в аналоговую форму и выводит в пробнике R2(1). Проблема в том результат выводится не верный. Точнее говоря не всегда верный. Когда я подаю 1В, то на выходе получаю 0,99В, что верно. Но когда, например, подаю 300мВ, то получаю 1.8В, что совсем не верно. Код прошивки предельно прост: while (1) { HAL_ADC_Start_IT(&hadc1); HAL_Delay(10); } Код колбека прерывания: void HAL_ADC_ConvCpltCallback(ADC_HandleTypeDef* hadc) { if(hadc->Instance == ADC1) //check if the interrupt comes from ACD1 { int adc = HAL_ADC_GetValue(&hadc1); HAL_GPIO_WritePin(GPIOB,GPIO_PIN_0,(adc>>0)&1); HAL_GPIO_WritePin(GPIOB,GPIO_PIN_1,(adc>>1)&1); HAL_GPIO_WritePin(GPIOB,GPIO_PIN_2,(adc>>2)&1); HAL_GPIO_WritePin(GPIOB,GPIO_PIN_3,(adc>>3)&1); HAL_GPIO_WritePin(GPIOB,GPIO_PIN_4,(adc>>4)&1); HAL_GPIO_WritePin(GPIOB,GPIO_PIN_5,(adc>>5)&1); HAL_GPIO_WritePin(GPIOB,GPIO_PIN_6,(adc>>6)&1); HAL_GPIO_WritePin(GPIOB,GPIO_PIN_7,(adc>>7)&1); } } На всякий случай вот настройка АЦП в stm32: Вот пример неправильного вычисления:
- 2 ответа
-
- Proteus ADC
- STM32
-
(и ещё 1 )
C тегом:
-
Здравствуйте, набросал вот такую схемку при помощи программы Filter Designer, но вышло что то совсем не то чего ожидал хотел сделать срез на саб от 25 до 80 +- Судя по графику в Proteus творится что то непонятное, помогите пожалуйста разобраться в чем проблема. 25hp.htm 80lp.htm
- 3 ответа
-
- Butterworth
- фильтр
-
(и ещё 1 )
C тегом:
-
Кто нибудь может подсказать , данная схема похожа на бортовой навигатор?
-
Доброго времени суток, нужна помощь в создании или вытаскивании исходного кода из уже существующего проекта, с возможностью дальнейшего редактирования под меня и. Полная информация про программу и то как она работает прикрепляю ниже, очень буду рад если кто-то откликнется в долгу не останусь) https://www.sxem.org/2-vse-stati/17-avtomatika-v-bytu/108-mikroprotsessornyj-regulyator-raboty-kotla-tsentralnogo-otopleniya?showall=1 https://www.sxem.org/forum/termometry-termostaty/131-mikroprotsessornyj-regulyator-raboty-kotla-tsentralnogo-otopleniya?start=25#5219
-
Друзья ! Нужна помощь,есть схема бортового устройства в протеусе,так же и программа на С.Не получается программу связать со схемой.Помогите пожалуйста! Протеус принимается только асемблер,а мне нужен С.
-
Здравствуйте, если кто-то знает, подскажите, пожалуйста, какой мосфет(Q3) можно использовать. Еще интересует по каким критериям они подбираються и где это можно сделать(тобишь сайт на котором можно указать нужные параметры/или это как-то по другому подбирается?). На счет импульсов генерируемых Arduino Uno на микропроцесоре ATmega328P. Частота в даном примере(вообще она будет перед стартом задаваться в пределах 1-50Гц) 50Гц, период 0,02с, duty cycle 50%. Еще такой вопрос, подскажите, пожалуйста, нормальный ли характер графика D на осцилографе? Почему он именно такой, если не нормальный, то что исправить? Если нужна дополнительная информацыя, без проблем, в мерах своих возможностей, добавлю. За любую помощь зарание спасибо.
-
<p>Доброго времени суток. Недавно решил заняться изучением AVR. Начал с изучения периферии, и вот остановилься на интерфейсе SPI. Опыты, пока что провожу в Proteus, подключая к МК виртуальный SPI Debugger. Когда МК в режиме Master то все отлично, байты отправляются и принимаются как надо, но когда МК в режиме Slave (Debugger соответственно Master) то в некоторых режимах SPI, МК передает какую-то кашу. Конкретнее: я передаю в МК(ATmega328P) и хочу считать из МК любое число (пусть и там и там будет 0x66), так вот это удается сделать только в режимах 1 и 3 (то есть только когда CPHA=1), при CPHA=0, МК передает данные с опозданием на 1 бит, или вовсе неправильно, что видно на графиках( зеленый - MOSI, красный - MISO, желтый - SCK, бирюзовый - SS). Вопрос: почему так происходит? Это просто глюк Proteus над которым не стоит заморачиватся или все же моя ошибка? Вот код: #define F_CPU 16000000UL #include <avr/io.h> #include <avr/interrupt.h> #define SPI_PORTX PORTB #define SPI_DDRX DDRB #define SPI_MISO 4 #define SPI_MOSI 3 #define SPI_SCK 5 #define SPI_SS 2 void SPI_Init(void) { SPI_DDRX|=(1<<SPI_MISO); SPCR|=(1<<SPIE)|(1<<SPE)|(0<<DORD)|(0<<MSTR)|(1<<CPOL)|(1<<CPHA)|(0<<SPR1)|(0<<SPR0); SPSR|=(0<<SPI2X); } ISR(SPI_STC_vect) { SPDR=0x66; } int main(void) { SPI_Init(); sei(); while (1) { } }
-
Где можно симулировать сеть Modbus? Предполагаю использовать Proteus. Все это необходимо чтобы научится в симуляции работать с Modbus
-
Всем добрый день, кто может подсказать, пытаюсь моделировать схему, выдает ошибку Sumulation Failed due to fatal simulator error. Совсем уже не знаю что делать.
-
Всем привет. Хочу сделать светодиодную матрица с драйвером max7219 на Atmega324P. При попытке смоделировать в Proteus вылазят ошибки: Собирал вроде всё правильно, текст в EEPROM загружен, но на матрицах выводится непонятно что и на всех одно и тоже. Может я что-то напутал, когда собирал(( Подскажите пожалуйста кто знает)) Проект со схемой Proteus и прошивку прикрепляю. И просто схема: Строка c MAX7219.rar
-
добрый день, уважаемые форумчане. Есть два проекта в AVRStudio 4.19, один компилируется для ATtiny2313, второй - для ATtiny48. Далее в протеус сделанымодели, для проверки работоспособности кода. Код одинаковый для обоих микроконтроллеров, только сделана условная компиляция, так как отличаются регистры таймера 0. При проверке в Протеус код для ATtiny2313 работает, а для ATtiny48 ни в какую не идет. ЧЯДНТ??? Проекты AVRStudio и Proteus во вложении. PS: Proteus 8.6 SP2 PS2: Нет индикации в Протеус, хотя при паузе переменные все правильные. Также подключил виртуальный осциллограф, и заметил, что в ATtiny48 на выходе PB6 нет импульсов. Хотя в функции индикации все прописано. 4x_18b20.zip ATtiny48.zip
- 3 ответа
-
- ATtiny2313
- ATtiny48
-
(и ещё 1 )
C тегом: