Мелкие вопросы по МК и ПЛИС.

Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
service47
Прорезались зубы
Сообщения: 219
Зарегистрирован: Вт мар 12, 2013 16:05:45

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение service47 »

Заработало, всем спасибо! :)
Аватара пользователя
vitalik_1984
Поставщик валерьянки для Кота
Сообщения: 2482
Зарегистрирован: Пт авг 27, 2010 05:57:06
Откуда: Тюмень
Контактная информация:

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение vitalik_1984 »

Предыдущая ошибка пропала, но появилась эта ошибка в тех же местах:

Неужели вы думаете, что тупо обрезав лишнее всё останется так же работать? Скобки то нужно внимательнее смотреть. Правильно вам сказали. Если не разбираетесь, то копируйте так как вам предложили, чтобы лишних ошибок не плодить.
Аватара пользователя
isx
Поставщик валерьянки для Кота
Сообщения: 2316
Зарегистрирован: Вс июн 26, 2011 20:03:21

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение isx »

Здравствуйте!
Где то пол года назад поставил в CVAVR библиотеку lcd_rus и выводил русский текст на дисплей и всё работало, а сейчас вместо кириллицы выводятся на дисплей кракозябры. Дисплей вроде тот же... Попробовал переустановить библиотеку, результата нет. Вот включение библиотеки в проект:

Код: Выделить всё

 #include <lcd_rus.h>  

Вот пример вывода текста:

Код: Выделить всё

lcd_init( 16 );  
  lcd_clear( );
  lcd_gotoxy( 0,0 );
  lcd_puts( "  Кракозябра" );

Ставлю родную библиотеку и переписываю текст на английский, то всё нормально выводится...
Дисплей 1602B-YYK-CTK.
Компилит без ошибок (CodeVisionAVR V2.05.3)
Кто нибудь сталкивался с таким?
Аватара пользователя
pyzhman
Друг Кота
Сообщения: 7016
Зарегистрирован: Вс июл 12, 2009 19:15:29
Откуда: Ижевск
Контактная информация:

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение pyzhman »

isx писал(а):вроде

Вот и надо разобраться; надо полагать совсем не "вроде".
Docendo discimus
Аватара пользователя
isx
Поставщик валерьянки для Кота
Сообщения: 2316
Зарегистрирован: Вс июн 26, 2011 20:03:21

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение isx »

Я точно помня, что выводил на дисплей русский текст. И если в протеусе у меня он не выводится (я его не переустанавливал с того времени), то значит выводил на дисплей, иначе никак. Но текст был, я ещё над другом прикалывался :)
А дисплей этот, насколько я знаю, кириллицу поддерживает.
Аватара пользователя
isx
Поставщик валерьянки для Кота
Сообщения: 2316
Зарегистрирован: Вс июн 26, 2011 20:03:21

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение isx »

Вывел текст через перекодировку.
Но это очень муторное занятие.... :(
Аватара пользователя
vitalik_1984
Поставщик валерьянки для Кота
Сообщения: 2482
Зарегистрирован: Пт авг 27, 2010 05:57:06
Откуда: Тюмень
Контактная информация:

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение vitalik_1984 »

isx писал(а):Вывел текст через перекодировку.

А биты линии данных там наоборот нигде не могли перепутать? как уже было не так давно до этого.
Аватара пользователя
isx
Поставщик валерьянки для Кота
Сообщения: 2316
Зарегистрирован: Вс июн 26, 2011 20:03:21

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение isx »

В настройках проекта были изначально не верные биты. Поменял сёдня, но результат тот же...
Русифицировал дисплей в протеусе, тоже шляпу выдает, хотя с перекодировкой работает....
service47
Прорезались зубы
Сообщения: 219
Зарегистрирован: Вт мар 12, 2013 16:05:45

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение service47 »

Помогите, написать код в Atmel Studio 6, чтобы запустить ШИМ на ATmega88PA пин PORTB1 вывод 13.
Даташит на ATmega88PA: http://www.atmel.com/images/doc2545.pdf
Даташит на irml0030: http://www.irf.com/product-info/datashe ... 030pbf.pdf
Задача на пинах Х7,Х8 +-LED получит ток свыше 1А.

Принципиальная схема:
Изображение

Данный код не работает:
Спойлер

Код: Выделить всё

#define F_CPU 1000000UL

#include <avr/interrupt.h>
#include <avr/io.h>
#include <util/delay.h>

ISR(INT1_vect)  //MINUS PIND3
{
   _delay_ms(300);
   shim_start();
}

ISR(INT0_vect)  //PLUS PIND2
{
   _delay_ms(300);
   shim_start();
}

void shim_start()
{
   ASSR=0x00;
// Установим биты COM1A1-COM1A0:0b10,означает сброс вывода канала A при сравнении Clear OC1A/OC1B on Compare Match, set OC1A/OC1B at BOTTOM (non-inverting mode), for Fast PWM. page135
TCCR1A |= (1 << COM1A1)|(0 << COM1A0)|(0 << WGM11)|(1 << WGM10); 
// Установим биты WGM13-10:0b0101, согласно таблице это будет режим - Fast PWM, 8-bit, где верхний предел счета задается битом ICR1. page136
TCCR1B |= (0 << WGM13)|(1 << WGM12)|(1 << CS12)|(0 << CS11)|(0 << CS10); 
// Битами CS12-10:0b100 задаем источник тактового сигнала для таймера МК, clkI/O/256 (From prescaler)=31250Hz. page137
TCNT1 = 0x00; // начальная установка счетчика
TIMSK1=0x00;
ICR1 = 0x99;  // задаем период ШИМ, здесь у нас число 255,
// по формуле  fPWM=fclk_I/O/N*(1+ICR1) вычисляем частоту ШИМ, она будет равна 8MHz/256(1+2)=10416Hz
// для FR3706 надо 50000Hz, irlm0030 надо 16666Hz<
OCR1A = 0xff; // начальный коэффициент заполнения ШИМ
}

int main(void)
{
      DDRC=0x3f;  //0b00111111 0-ввод 1-вывод
      PORTC=0x00; //
      DDRD=0x0C; //0b00001100
      PORTD=0xff; //
      DDRB=0x87; //0b10000111 PB1(OC1A)-ШИМ
      PORTB=0x00;
   EICRA  =  (1<<ISC11) | (0<<ISC10) | (1<<ISC01) | (0<<ISC00);   // настройка срабатывания прерываний The falling edge of INT1 generates an interrupt request
   PCICR  |= (1<<PCIE2) | (0<<PCIE1) | (0<<PCIE0);// разрешение прерываний PCINT23...16
   PCMSK2=0b11000000; //разрешаем прерывание pcint23 pcint22
   EIMSK=0b11000011; //разрешаем прерывание int0 и int1 - кнопка
   MCUCR=0b00001111;// IVSEL, IVCE
   sei(); //Глобальное разрешение прерываний
   
    while(1)
    {      
    }
}


Все, отбой. Заработало.
Последний раз редактировалось Gudd-Head Вт ноя 26, 2013 17:11:37, всего редактировалось 1 раз.
Причина: Склеил
SmarTrunk
Друг Кота
Сообщения: 6014
Зарегистрирован: Чт ноя 26, 2009 11:16:50
Откуда: Москва

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение SmarTrunk »

А можно ли в ATmega8a, если используется UART только на прием данных, то задействовать "выход UART" просто как цифровой выход (ну или вход)?

В даташите посмотрю, но, может, кто-то уже знает?
Аватара пользователя
pyzhman
Друг Кота
Сообщения: 7016
Зарегистрирован: Вс июл 12, 2009 19:15:29
Откуда: Ижевск
Контактная информация:

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение pyzhman »

Можно.
Docendo discimus
dzrkot
Открыл глаза
Сообщения: 75
Зарегистрирован: Чт авг 29, 2013 08:02:24

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение dzrkot »

Здравствуйте, есть пару глупых вопросов.
1) Есть 2 архитектуры Фон-Неймоновская и Гарвардская, я знаю о их существовании и на словах в чём разница, на практике в чём это вырожается? Просто интересно
2) Читаю про msp430, там есть карта адресного пространства...для чего она дана? Опять таки в практическом плане.
3) Допустим есть задача, по таймеру переходить в начало бесконечного цикла, можно ли сделать это без goto? Пишу на C. Вот просто как-то завис на этом...
Аватара пользователя
КРАМ
Друг Кота
Сообщения: 25177
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение КРАМ »

1. У архитектуры фон Неймана память программ и память данных находятся в ОДНОМ АДРЕСНОМ ПОЛЕ и по сути есть единая память.
В гарвардской эти две памяти адресуются в разных полях и физически это разная память.
2. Во всех контроллерах всегда приводится карта памяти. Иначе как ее распределять?
3. По таймеру можно делать переход ТРЕМЯ способами.
а) чтение на лету, сравнение и переход по совпадению константы и состояния счетчика
б) программная проверка флага переполнения счетчика и переход по условию взведенного флага
в) прерывание от счетчика по переполнению (совпадению со значением регистра цифрового компаратора этого счетчика) и АППАРАТНЫЙ переход по вектору (адресу) этого прерывания, где и размещена программа обработки.
dzrkot
Открыл глаза
Сообщения: 75
Зарегистрирован: Чт авг 29, 2013 08:02:24

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение dzrkot »

ну я новой информации не узнал...
1 и 2ое про память читал, в чём это выразится на практике не понимаю, т.е. зачем мне эта информация вообще нужна?
3. Ну да... генерируется прерывание... как перейти в цикл в main() ...?

я что-то типа имею ввиду, как должно выглядеть..

TimeIRQ()
{
while(1)
//операторы
}

int main()
{
while(1)
//операторы
}

вообщем я навереное не корректно задал вопрос..
Аватара пользователя
КРАМ
Друг Кота
Сообщения: 25177
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение КРАМ »

Си абстрагирует программиста от архитектуры и адресного пространства. Эти вопросы решает компилятор. Но не все же пишут на Си.... :wink:
Возврат из прерывания в Си осуществляется АВТОМАТИЧЕСКИ по завершению собственно обработчика этого прерывания (ISR).
Выход из прерывания по goto - моветон и создание себе кучи проблем с поддержанием стека.
Если нужно выполнить некую подпрограмму по условию прерывания, то есть ДВА варианта:
а) эту подпрограмму (функцию) вставляют в тело обработчика
б) в обработчике взводят некий программный флаг, а при выходе в main в цикле этого main проверяют этот флаг и если он установлен, то вызывают эту функцию. В функции флаг сбрасывают.
Аватара пользователя
Аlex
Модератор
Сообщения: 4614
Зарегистрирован: Чт мар 18, 2010 23:09:57
Откуда: Планета Земля
Контактная информация:

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение Аlex »

Переместил последние вопросы про кнопки сюда - viewtopic.php?p=1847347#p1847347
Аватара пользователя
oleg63m
Друг Кота
Сообщения: 20132
Зарегистрирован: Чт сен 01, 2011 12:53:27
Откуда: ТьмуТаракания. Почетный житель подмостовья
Контактная информация:

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение oleg63m »

http://www.mirmk.net/content/view/117/27/
Попался тут на глаза адресок, может кому сгодится по жизни :)))
Программа - помощник для подбора микроконтроллера AVR
Шекспир сказал: Судить меня -дано лишь Богу, другим я укажу дорогу... https://natribu.org/
Я его полностью поддерживаю.
Программирую на Fuse AtmelAVR.
Аватара пользователя
coredumped
Опытный кот
Сообщения: 838
Зарегистрирован: Вт апр 12, 2011 18:38:19
Откуда: с Земли

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение coredumped »

Все будет только лучше, в крайнем случае - хуже.
Аватара пользователя
Gudd-Head
Друг Кота
Сообщения: 20092
Зарегистрирован: Чт сен 18, 2008 12:27:21
Откуда: Столица Мира Санкт-Петербург

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение Gudd-Head »

Повторюсь: http://www.mymcu.ru/
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Ответить

Вернуться в «Разные вопросы по МК»