Обсуждаем контроллеры компании Atmel.
Чт дек 23, 2021 10:09:52
Доброго времени суток. Помогите адоптировать кусочек кода под CodeVision.
Начну из далека. На сайте есть проэкт "БП с микроконтроллерным управлением и регулировкой параметров при помощи энкодера." есть исходники написаные в CodeVision.Используется экранчик bc1602. А мне бы хотелось в этом пролэкте использовать графический lcd на на st7567.....нашол код под него но он написан в avr studio .
В CodeVision он не работает.....компилируется и т.д но экран не реагирует.......
Кто подскажет где собака зарыта?
avr studio
CodeVision
Вс фев 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> всё порты. Что не так то бл...
Вс фев 13, 2022 13:21:10
CVAVR ругается на PORTD. Словно не знает что это такое.
Просто на PORTD или записи типа:
- Код:
PORTD.0=1;
А стоп, все правильно, это же CVAVR такое понимает, а все остальные компиляторы нет...
Вс фев 13, 2022 13:23:03
undefined symbol 'PORTD'
Вс фев 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
...
...
...
у меня не ругается))
Вс фев 13, 2022 16:44:00
Ну на другие разные библиотеки он же не ругается?
Вс фев 13, 2022 17:13:46
не знаю... я вообще не использую библиотеки))
раньше писал... потом передумал)) не удобно бегать по библиотекам... лучше всё в одной программе void main(void) написать и всё))
Пн фев 14, 2022 15:27:36
Напомните как передать значение в функцию.
Я делаю функцию USART_initialization (9600) ;
Вместо 9600 можно влепить int с другими значениями. Внутри функции расчёт по формуле и подстановка в регистр
Пн фев 14, 2022 15:32:45
mixon46 писал(а):Напомните как передать значение в функцию
дык вот прямо так и передать, как вы сами и написали:
mixon46 писал(а):USART_initialization(9600) ;
Пн фев 14, 2022 15:36:09
void USART_initialization(int)
Пишу так. А он мне слишком мало аргументов.
Пн фев 14, 2022 15:40:13
mixon46 писал(а):void USART_initialization(int)
так можно только описать функцию, а реализовать её надо с параметром типа int:
- Код:
void USART_initialization(int baud){
if(baud == 9600){ /* или что там надо */ }
}
Пн фев 14, 2022 15:45:22
Не хочет. Пишет мало аргументов
- Вложения
-
- IMG_20220214_154317_compress27.jpg
- (210.29 KiB) Скачиваний: 132
Вт фев 15, 2022 00:56:02
каких аргументов...
рабочий пример АЦП
////////////////////////////////// АЦП:
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
//////////////////////////////////
Вт фев 15, 2022 12:30:52
Разобрался уже. Я тут библиотеку пишу для работы с uart.
Пока только uart_initialization написал.
Надо ещё функции добавить для отправки и считывания
Вт фев 15, 2022 13:41:01
мне вообще не понятно, зачем для кодвижна писать свою библиотеку UART, если там своя встроенная есть.
Вт фев 15, 2022 18:48:15
Как она называется?
Ср фев 16, 2022 11:31:29
mixon46 писал(а):Я тут библиотеку пишу для работы с uart.
зачем ?
mixon46 писал(а):Надо ещё функции добавить для отправки и считывания
какие ?
Зачем это всё ? И как это всё должно работать ?
Ср фев 16, 2022 12:06:29
В общем разобрался. Переоткрыл проект.
Но теперь другая проблема. Он ругается на мою функцию. Пишет declaration syntax error. В чем проблема может быть?
В общем смотрите. Есть заголовочный файл
ну а далее я объявляю функцию в программе
и компилятор ругается что я что то не так объявляю. что не так не могу понять
Ср фев 16, 2022 17:23:14
я так и не понял... зачем это всё ?
Ср фев 16, 2022 17:28:25
Ну мне интересно как библиотеки работают. Проще же взять готовую функцию. Вставить себе в программу и не вспоминать чего там и какие регистры настраивать
Powered by phpBB © phpBB Group.
phpBB Mobile / SEO by Artodia.