Форум программистов, компьютерный форум, киберфорум
Микроконтроллеры ATmega AVR
Войти
Регистрация
Восстановить пароль
Другие темы раздела
ATmega AVR Atmega8 проблема с UART Здравствуйте, столкнулся с проблемой отправки данных на ПК по интерфейсу UART, суть проблемы в том что в терминал приходят не те символы. вот код, инизиализацию и отправку брал из даташита #ifndef F_CPU #define F_CPU 11059200UL // рабочая частота #endif #include <avr/io.h> #include <avr/interrupt.h> #include <util/delay.h> https://www.cyberforum.ru/ avr/ thread2666980.html ATmega AVR востановить управление камерой LAICE LSD-364
Всем доброго времени суток!!! Хочу обратиться за помощью по восстановлении управления камерой LAICE LSD-364, в неё ударило грозой, сгорел МК atmega 2561 16au, МК заменил но вот где взять прошивку или дамп на него не знаю, подскажите как быть перелопатил кучу прошивок но не одна не встала. Видео сигнал идёт, движки целые, зум работает, камера полностью исправна за исключением МК? Или можно хотя бы...
ATmega AVR Display image in 240x_320x_ILI9341_SPI atmega8 https://www.cyberforum.ru/ avr/ thread2664761.html
Доброго времени суток, у меня проблема с выводом изображения на дисплей, помогите пожалуйста. В принципе, картинка выводится, но с артефактами. Вот моя функция которая выводит изображение в массивном формате: const unsigned char gImage_123 PROGMEM = { //Картинка в формате Hex //} Компилированая в HEX через прогу Image2Lcd. void ILI9341_Draw_Image(const char *Image_Array,int x, int y,...
ATmega AVR Atmel Studio. Есть логика, или я тупой? https://www.cyberforum.ru/ avr/ thread2662169.html
Всем привет. Сделал проект для Attiny13, который превышает по размеру внутреннюю память контроллера. В целях оптимизации проекта хотелось бы увидеть его ASM версию. Ту, которую сформировал компилятор. Однако попытки отладки останавливаются на ошибке переполнения памяти. Иначе говоря, Atmel Studio на основании исходников на СИ сгенерировал прошивку, определил что её размер превышает объем...
ATmega AVR Светофор AVR Atmega16
помогите написать программу для 7 сегментника для красного цвета 25 секунд для красного и жолтого
ATmega AVR В какой среде разработки можно отобразить содержимое ОЗУ в двоичном виде? Очень нужно в процессе симуляции просматривать содержимое ОЗУ в двоичном виде, но в AVR Studio или в Atmel Studio такого сделать нельзя. Подскажите, может быть есть другие среды разработки, в которых это возможно? https://www.cyberforum.ru/ avr/ thread2657132.html
ATmega AVR Непонятная ошибка https://www.cyberforum.ru/ avr/ thread2657027.html
.include "m16def.inc" .def cdel=R25 .def temp=R16 .def data=R24 .def zreg=R1 .cseg .org 0 rjmp start .org $30 start:ldi temp,high(ramend)
ATmega AVR Не прошивается Atmega8a
Atmega8a не программируется через (ARDUINO as ISP как программатор) выдает ошибку avrdude: Device signature = 0x000000 avrdude: Yikes! Invalid device signature. покупал на АлиЭкспрессе сначала взял для тестов три шт в dip корпусе , одна из них шьется нормально , а две нет. плюнул на ней протестировал прошивку. Теперь пришли ещё 20шт. в корпусе TQFP-32 ни одна из них не шьется, такая...
ATmega AVR Сигнализация Нужно разработать устройство охранной сигнализации, написать программу этого устройства на С в среде CodeVision AVR. Число охраняемых объектов — до 64. Устройство должно сохранять свою работоспособность при выключении сети. При нажатии кнопки «Запрос» на цифровые индикаторы последовательно выводятся номера объектов, обслуженных по сигналу «Тревога». Кто-нибудь может подсказать программы,... https://www.cyberforum.ru/ avr/ thread2655740.html ATmega AVR Проблема с AVRDUDE_PROG https://www.cyberforum.ru/ avr/ thread2654531.html
Здоровья и успехов всем! Моя проблема в следующем: при запуске программы AVRDUDEPROG и попытке что-то сделать (фьюзы посмотреть, прошивку залить) пропадает файл avrdude.exe. Соответственно программа жалуется на отсутствие этого файла. С одной стороны я понимаю, что это % на 90 вина операционной системы а не самой программы. Танцы с бубном типа проверка на вирусы и прочую гадость, смена атрибутов...
Бегущие огни на AtMega48 ATmega AVR
Здравствуйте! Не могли бы вы, пожалуйста, помочь с написанием кода программы под условия, приведенные ниже? К огромному сожалению, сам не могу справиться. Условия: "После запуска программы светодиоды с нечетными номерами включаются по очереди, создавая эффект бегущих огней справа налево. После нажатия на кнопку SW6 эффект бегущих огней создается четными светодиодами. После нажатия на кнопку...
ATmega AVR ATmega8 + Энкодер Доброго времени суток, Уважаемые! Такой вопрос. Собрал таймер на ATmega8 на кнопках все норм. все работает. тут видео для наглядности (https://youtu.be/_f_8CG8Nkso) _f_8CG8Nkso Теперь пытаюсь Подружить его с энкодером. Т.е. вместо кнопок поставить энкодер. И недопонимаю что делаю не так. Таймер включается, отображает все нули, и вообще никак не реагирует на повороты энкодера. Может кто... https://www.cyberforum.ru/ avr/ thread2652076.html
7 / 3 / 4
Регистрация: 04.12.2015
Сообщений: 54
20.06.2020, 21:13  [ТС] 0

АЦП Atmega8 - ATmega AVR - Ответ 14668320

20.06.2020, 21:13. Показов 1498. Ответов 12
Метки (Все метки)

Ответ

Сделал вот так вот, если вдруг кому-то пригодиться, вроде как работает.
Огромное спасибо COKPOWEHEU и sharpey.
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
#include <avr/io.h>
#include <avr/interrupt.h>
#include <util/delay.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
 
#define FREQ_HZ 120
 
void ADC_Init(void){
    DDRC = 0; 
    // Вкл АЦП|предделитель на 128|разрешаем прерывание
    ADCSRA |= (1<<ADEN)|(1<<ADPS2) | (1<<ADPS1) | (1<<ADPS0) | (1<<ADIE); 
    //AVCC with external capacitor at AREF pin | PC3 init
    ADMUX |= (1<<REFS0)| (1<<MUX1) | (1<<MUX0); 
    // запускаем первое АЦ-преобразование
    ADCSRA |= 1<<ADSC;  
}
 
 
void USART_Init( uint32_t baudrate) //Credits:sharpey
{
    uint16_t trate = ((uint32_t)F_CPU/16/baudrate-1);
    UBRRH = (uint8_t)(trate >> 8);
    UBRRL = (uint8_t)trate;
    // Разрешить передачу и прием, прерывание по приему
    UCSRB = (1<<TXEN) | (1<<RXEN);
    // 8 битный режим, нет проверки на чётность, 1 стоп-бит
    UCSRC = (1<<URSEL) | (1<<UCSZ1) | (1<<UCSZ0);
}
 
void USART_Transmit( unsigned char data )
{
    while ( !( UCSRA & (1<<UDRE)) )
    ;
    UDR = data;
}
void USARTWriteStr(char *data)
{
    while(*data){
        USART_Transmit(*data++);
    }
}
 
ISR(ADC_vect) {//Credits:COKPOWEHEU
    switch(ADMUX & 0b111) {
        case 3:
        ADMUX = (ADMUX &~ 0b111) | 4;
        break;
        case 4:
        ADMUX = (ADMUX &~ 0b111) | 5;
        break;
        case 5:
        ADMUX = (ADMUX &~ 0b111) | 3;
        break;
        default:;
    }
    _delay_us(10);
}
void timer_ini(void){ // Credits:COKPOWEHEU
    TCCR1B = 0;
    TCCR1A = 0;
    
    TCCR1B |= (1<<WGM12); // устанавливаем режим СТС (сброс по совпадению)
    TCCR1B |= (0b101 << CS10);//установим делитель. на 1024
    TIMSK |= (1<<OCIE1A);   //устанавливаем бит разрешения прерывания 1ого счетчика по совпадению с OCR1A
    OCR1A = (2 * F_CPU / 1024 / FREQ_HZ - 1)/2;
}
char buffer[10];
ISR(TIMER1_COMPA_vect){ 
    itoa(ADCW, buffer, 10);
    USARTWriteStr(buffer);
    USART_Transmit(13);
    ADCSRA |= 1<<ADSC;
}
int main(void)
{
    USART_Init(9600);
    ADC_Init();
    timer_ini();
    sei();
    while (1) 
    {
 
    }
}


Вернуться к обсуждению:
АЦП Atmega8 ATmega AVR
0
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.06.2020, 21:13
Готовые ответы и решения:

АЦП ATmega8
Доброго времени суток. Написал программу, в которой при выходе из обработчика прерывания по...

АЦП Atmega8
Код АЦП вывод на LCD чета не фурычит,не судите строго только изучаю АЦП. пишу только на ASM. В...

Atmega8 АЦП
Подключены к портам PC0-PC5 шесть потенциометров. С портов PC0-PC2 приходит нормальная информация...

АЦП в ATmega8
Я не очень понимаю, как работает АЦП в ATmega8. В документации сказано, что есть три режима работы...

12
20.06.2020, 21:13
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.06.2020, 21:13
Помогаю со студенческими работами здесь

Прерывание от АЦП в ATmega8
Доброго времени суток! Решил сделать у себя АЦП по прерыванию. При запуске программы преобразование...

Atmega8 и внешний АЦП
Существует внешний программируемый 24 разрядный АЦП, который подключен к atmega8. Необходимо...

ШИМ и АЦП в Atmega8
Мне нужно управлять током полевого транзистора. Для этого я снимаю напряжение с резистора,...

Минимальные значения АЦП (Atmega8)
Вобщем в поставленной задаче есть строчка,... показывать минимальное значение результата...

Не читается значение АЦП atmega8
Суть в том,что если крутить ползунок потенциометра RV! то должно менятся значение АЦП от до 1023.А...

как правильно работать с АЦП в atmega8
Добрый день! Подскажите как правильно работать с результатом АЦП. Например, у меня выравнивание...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru