Обсуждаем контроллеры компании Atmel.
Ответить

Re: CodeVision AVR в вопросах и ответах

Чт дек 23, 2021 10:09:52


Доброго времени суток. Помогите адоптировать кусочек кода под CodeVision. 

Начну из далека. На сайте есть проэкт "БП с микроконтроллерным управлением и регулировкой параметров при помощи энкодера."  есть исходники написаные в CodeVision.Используется экранчик bc1602. А мне бы хотелось в этом пролэкте использовать графический lcd  на на st7567.....нашол код под него но он написан в avr studio .

В CodeVision он не работает.....компилируется и т.д но экран не реагирует.......

Кто подскажет где собака зарыта?

avr studio




CodeVision




 

 


Re: CodeVision AVR в вопросах и ответах

Вс фев 13, 2022 13:17:20

Здравствуйте. Сделал библиотеку как в прилагаемой статье. С файлами *.lib и *.h
Для того что бы понять смысл как работают библиотеки.

https://mega-avr.ucoz.ru/publ/create_li ... r/1-1-0-12

И знаете. Не работает. CVAVR ругается на PORTD. Словно не знает что это такое. Хотя объявлено в #include <mega8535.h> всё порты. Что не так то бл...

Re: CodeVision AVR в вопросах и ответах

Вс фев 13, 2022 13:21:10

CVAVR ругается на PORTD. Словно не знает что это такое.

Просто на PORTD или записи типа:
Код:
PORTD.0=1;

А стоп, все правильно, это же CVAVR такое понимает, а все остальные компиляторы нет...

Re: CodeVision AVR в вопросах и ответах

Вс фев 13, 2022 13:23:03

undefined symbol 'PORTD'

Re: CodeVision AVR в вопросах и ответах

Вс фев 13, 2022 14:28:13

я настраиваю порты в главной программе... а библиотеки отдельно))

////////////////////////////////////////////////////////////////////////////////
void main(void)
{
/////////////////////////////////////////////// SPI (мастер)
DDRB.5=1; // выход SCK
PORTB.5=0; // выход SCK
DDRB.4=0; // вход MISO
PORTB.4=0; // вход MISO
DDRB.3=1; // выход MOSI
PORTB.3=0; // выход MOSI
...
...
...

у меня не ругается))

Re: CodeVision AVR в вопросах и ответах

Вс фев 13, 2022 16:44:00

Ну на другие разные библиотеки он же не ругается?

Re: CodeVision AVR в вопросах и ответах

Вс фев 13, 2022 17:13:46

не знаю... я вообще не использую библиотеки))
раньше писал... потом передумал)) не удобно бегать по библиотекам... лучше всё в одной программе void main(void) написать и всё))

Re: CodeVision AVR в вопросах и ответах

Пн фев 14, 2022 15:27:36

Напомните как передать значение в функцию.

Я делаю функцию USART_initialization (9600) ;

Вместо 9600 можно влепить int с другими значениями. Внутри функции расчёт по формуле и подстановка в регистр

Re: CodeVision AVR в вопросах и ответах

Пн фев 14, 2022 15:32:45

mixon46 писал(а):Напомните как передать значение в функцию
дык вот прямо так и передать, как вы сами и написали:
mixon46 писал(а):USART_initialization(9600) ;

Re: CodeVision AVR в вопросах и ответах

Пн фев 14, 2022 15:36:09

void USART_initialization(int)

Пишу так. А он мне слишком мало аргументов.

Re: CodeVision AVR в вопросах и ответах

Пн фев 14, 2022 15:40:13

mixon46 писал(а):void USART_initialization(int)
так можно только описать функцию, а реализовать её надо с параметром типа int:
Код:
void USART_initialization(int baud){
  if(baud == 9600){ /* или что там надо */ }
}

Re: CodeVision AVR в вопросах и ответах

Пн фев 14, 2022 15:45:22

Не хочет. Пишет мало аргументов
Вложения
IMG_20220214_154317_compress27.jpg
(210.29 KiB) Скачиваний: 132

Re: CodeVision AVR в вопросах и ответах

Вт фев 15, 2022 00:56:02

каких аргументов... :dont_know:

рабочий пример АЦП
////////////////////////////////// АЦП:
void adc(unsigned char adc_input)
{
ADMUX = 0b01000000 | adc_input; // опорное AVCC // канал ADC0...ADC7
delay_us(10);
ADCSRA|=0b01000000;
while (ADCSRA & 0b01000000);
}
////////////////////////////////// вызов функции АЦП:
adc(5); // канал ADC 5
//////////////////////////////////

Re: CodeVision AVR в вопросах и ответах

Вт фев 15, 2022 12:30:52

Разобрался уже. Я тут библиотеку пишу для работы с uart.


Пока только uart_initialization написал.
Надо ещё функции добавить для отправки и считывания

Re: CodeVision AVR в вопросах и ответах

Вт фев 15, 2022 13:41:01

мне вообще не понятно, зачем для кодвижна писать свою библиотеку UART, если там своя встроенная есть.

Re: CodeVision AVR в вопросах и ответах

Вт фев 15, 2022 18:48:15

Как она называется?

Re: CodeVision AVR в вопросах и ответах

Ср фев 16, 2022 11:31:29

mixon46 писал(а):Я тут библиотеку пишу для работы с uart.

зачем ?
mixon46 писал(а):Надо ещё функции добавить для отправки и считывания

какие ?

Зачем это всё ? И как это всё должно работать ?

Re: CodeVision AVR в вопросах и ответах

Ср фев 16, 2022 12:06:29

В общем разобрался. Переоткрыл проект.

Но теперь другая проблема. Он ругается на мою функцию. Пишет declaration syntax error. В чем проблема может быть?

В общем смотрите. Есть заголовочный файл


ну а далее я объявляю функцию в программе



и компилятор ругается что я что то не так объявляю. что не так не могу понять

Re: CodeVision AVR в вопросах и ответах

Ср фев 16, 2022 17:23:14

я так и не понял... зачем это всё ?

Re: CodeVision AVR в вопросах и ответах

Ср фев 16, 2022 17:28:25

Ну мне интересно как библиотеки работают. Проще же взять готовую функцию. Вставить себе в программу и не вспоминать чего там и какие регистры настраивать
Ответить