Страница 467 из 628

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

Добавлено: Чт ноя 07, 2013 10:27:40
service47
Заработало, всем спасибо! :)

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

Добавлено: Пт ноя 08, 2013 23:43:51
vitalik_1984
Предыдущая ошибка пропала, но появилась эта ошибка в тех же местах:
Неужели вы думаете, что тупо обрезав лишнее всё останется так же работать? Скобки то нужно внимательнее смотреть. Правильно вам сказали. Если не разбираетесь, то копируйте так как вам предложили, чтобы лишних ошибок не плодить.

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

Добавлено: Ср ноя 13, 2013 21:45:09
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)
Кто нибудь сталкивался с таким?

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

Добавлено: Ср ноя 13, 2013 22:09:30
pyzhman
isx писал(а):вроде
Вот и надо разобраться; надо полагать совсем не "вроде".

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

Добавлено: Чт ноя 14, 2013 17:50:17
isx
Я точно помня, что выводил на дисплей русский текст. И если в протеусе у меня он не выводится (я его не переустанавливал с того времени), то значит выводил на дисплей, иначе никак. Но текст был, я ещё над другом прикалывался :)
А дисплей этот, насколько я знаю, кириллицу поддерживает.

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

Добавлено: Чт ноя 14, 2013 21:03:30
isx
Вывел текст через перекодировку.
Но это очень муторное занятие.... :(

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

Добавлено: Чт ноя 14, 2013 22:24:52
vitalik_1984
isx писал(а):Вывел текст через перекодировку.
А биты линии данных там наоборот нигде не могли перепутать? как уже было не так давно до этого.

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

Добавлено: Чт ноя 14, 2013 23:22:32
isx
В настройках проекта были изначально не верные биты. Поменял сёдня, но результат тот же...
Русифицировал дисплей в протеусе, тоже шляпу выдает, хотя с перекодировкой работает....

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

Добавлено: Вт ноя 26, 2013 13:58:24
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)
    {		
    }
}
Все, отбой. Заработало.

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

Добавлено: Вт ноя 26, 2013 23:09:49
SmarTrunk
А можно ли в ATmega8a, если используется UART только на прием данных, то задействовать "выход UART" просто как цифровой выход (ну или вход)?

В даташите посмотрю, но, может, кто-то уже знает?

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

Добавлено: Вт ноя 26, 2013 23:12:41
pyzhman
Можно.

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

Добавлено: Ср ноя 27, 2013 13:40:44
dzrkot
Здравствуйте, есть пару глупых вопросов.
1) Есть 2 архитектуры Фон-Неймоновская и Гарвардская, я знаю о их существовании и на словах в чём разница, на практике в чём это вырожается? Просто интересно
2) Читаю про msp430, там есть карта адресного пространства...для чего она дана? Опять таки в практическом плане.
3) Допустим есть задача, по таймеру переходить в начало бесконечного цикла, можно ли сделать это без goto? Пишу на C. Вот просто как-то завис на этом...

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

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

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

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

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

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

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

вообщем я навереное не корректно задал вопрос..

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

Добавлено: Ср ноя 27, 2013 14:36:20
КРАМ
Си абстрагирует программиста от архитектуры и адресного пространства. Эти вопросы решает компилятор. Но не все же пишут на Си.... :wink:
Возврат из прерывания в Си осуществляется АВТОМАТИЧЕСКИ по завершению собственно обработчика этого прерывания (ISR).
Выход из прерывания по goto - моветон и создание себе кучи проблем с поддержанием стека.
Если нужно выполнить некую подпрограмму по условию прерывания, то есть ДВА варианта:
а) эту подпрограмму (функцию) вставляют в тело обработчика
б) в обработчике взводят некий программный флаг, а при выходе в main в цикле этого main проверяют этот флаг и если он установлен, то вызывают эту функцию. В функции флаг сбрасывают.

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

Добавлено: Чт ноя 28, 2013 10:19:53
Аlex
Переместил последние вопросы про кнопки сюда - http://radiokot.ru/forum/viewtopic.php? ... 7#p1847347

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

Добавлено: Сб ноя 30, 2013 15:51:02
oleg63m
http://www.mirmk.net/content/view/117/27/
Попался тут на глаза адресок, может кому сгодится по жизни :)))
Программа - помощник для подбора микроконтроллера AVR

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

Добавлено: Вс дек 01, 2013 08:49:22
nirq

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

Добавлено: Вс дек 01, 2013 10:31:48
coredumped

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

Добавлено: Пн дек 02, 2013 15:58:55
Gudd-Head
Повторюсь: http://www.mymcu.ru/