Например TDA7294

Форум РадиоКот • Просмотр темы - CodeVision AVR в вопросах и ответах
Форум РадиоКот
Здесь можно немножко помяукать :)

Текущее время: Чт мар 12, 2026 12:26:59

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 8410 ]     ... , , , 420,  
Автор Сообщение
 Заголовок сообщения: Re: CodeVision AVR в вопросах и ответах
СообщениеДобавлено: Вс мар 01, 2026 17:50:16 
Встал на лапы

Зарегистрирован: Пн фев 16, 2026 17:30:02
Сообщений: 135
Рейтинг сообщения: 0
sizeof может работать вот в таком случае:
Код:
const char msg[] = "12345";
PrintLCD(msg, sizeof(msg));

А вот в этом случае уже работать не будет:
Код:
const char *msg = "12345";
PrintLCD(msg, sizeof(msg));

Разница - в объявлении строки. В первом случае она объявлена как массив элементов char, а во втором случае - как указатель на элементы char.
А при передаче строки в функцию размер строки потеряется в любом случае. Взятие sizeof(str) внутри функции вернет размер указателя, но не число элементов.

Я давно не имел дела с таким дисплеем и не помню таблицу перекодировки, но я бы сделал вот так:
Код:
void PrintLCD(const char *str, unsigned int len)
{
   while(len-- && *str != '\0')
   {
      char code;
      if(*str >= 'А')
         code = Transcode(*str);
      else
         code = *str;

      WriteData(code);
      str++;
   }
}

char Transcode(const char ch)
{
   const char table[] = {155, 143, 142}; // таблицу перекодировки не помню!
   return table[ch - 'А'];
}


Добавлено after 19 minutes 43 seconds:
ПыСы. Ну и можна какнить без палитических лозунгов, а? Осточертела ссаная палитика, от кого бы она не исходила.


Вернуться наверх
 
 Заголовок сообщения: Re: CodeVision AVR в вопросах и ответах
СообщениеДобавлено: Вс мар 01, 2026 17:58:06 
Вымогатель припоя
Аватар пользователя

Карма: -15
Рейтинг сообщений: -27
Зарегистрирован: Пн июн 03, 2024 22:29:24
Сообщений: 578
Рейтинг сообщения: 0
Как бы вот, полная сборка проги и библиотеки для пик сисиэс , может немного не в тему но получилось же, там тоже СИ


Вложения:
16ф76.rar [390.1 KiB]
Скачиваний: 15
Вернуться наверх
 
 Заголовок сообщения: Re: CodeVision AVR в вопросах и ответах
СообщениеДобавлено: Вс мар 01, 2026 18:31:58 
Встал на лапы

Зарегистрирован: Пн фев 16, 2026 17:30:02
Сообщений: 135
Рейтинг сообщения: 0
Жуть какая-то... Тут только одно можно сказать - читайте книжку "Язык программирования Си" авторов Ритчи и Кернигана. Это авторы языка Си.


Вернуться наверх
 
 Заголовок сообщения: Re: CodeVision AVR в вопросах и ответах
СообщениеДобавлено: Вс мар 01, 2026 18:58:38 
Вымогатель припоя
Аватар пользователя

Карма: -15
Рейтинг сообщений: -27
Зарегистрирован: Пн июн 03, 2024 22:29:24
Сообщений: 578
Рейтинг сообщения: 0
Зачем ?

Добавлено after 2 minutes 30 seconds:
Для си тоже разные диалекты ... для микрочипов, атмелов винды .... это как разные языки программирования .... Для каждой среды разработки есть что то общее , но в основном оно разное .


Вернуться наверх
 
Эиком - электронные компоненты и радиодетали
 Заголовок сообщения: Re: CodeVision AVR в вопросах и ответах
СообщениеДобавлено: Вс мар 01, 2026 19:03:06 
Модератор
Аватар пользователя

Карма: 90
Рейтинг сообщений: 1443
Зарегистрирован: Чт мар 18, 2010 23:09:57
Сообщений: 4613
Откуда: Планета Земля
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Thinnnfor писал(а):
Зачем ?
Чтобы глупые вопросы не задавать на форумах.

PS: Какой-то странный кадр. На вопросы не отвечает. Что ему пишут - не читает. Только твердит одно и то-же про то, что где-то что-то работает.... :facepalm:


Вернуться наверх
 
 Заголовок сообщения: Re: CodeVision AVR в вопросах и ответах
СообщениеДобавлено: Вс мар 01, 2026 19:11:40 
Вымогатель припоя
Аватар пользователя

Карма: -15
Рейтинг сообщений: -27
Зарегистрирован: Пн июн 03, 2024 22:29:24
Сообщений: 578
Рейтинг сообщения: 0
Ну да , работает !И нормально работает и долго. Ну да для саморазвития есть интерес для оптимизации .

Добавлено after 3 minutes 15 seconds:
Аlex писал(а):
Чтобы глупые вопросы не задавать на форумах.

Ну если все будут "умными" то зачем тогда форумы ?


Вернуться наверх
 
 Заголовок сообщения: Re: CodeVision AVR в вопросах и ответах
СообщениеДобавлено: Вс мар 01, 2026 19:16:29 
Модератор
Аватар пользователя

Карма: 90
Рейтинг сообщений: 1443
Зарегистрирован: Чт мар 18, 2010 23:09:57
Сообщений: 4613
Откуда: Планета Земля
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Вам посоветовал почитать книгу только после нескольких (как оказалось, неудачных) попыток объяснить, почему не работает. Но Вы и дальше, упорно, пытаетесь гнуть свою линию.
Зачем идти на форум, не читать ответы и не вникать в них ? Каков смысл ?


Вернуться наверх
 
 Заголовок сообщения: Re: CodeVision AVR в вопросах и ответах
СообщениеДобавлено: Вс мар 01, 2026 20:01:09 
Встал на лапы

Зарегистрирован: Пн фев 16, 2026 17:30:02
Сообщений: 135
Рейтинг сообщения: 0
Для си тоже разные диалекты ... для микрочипов, атмелов винды ....

PIC16 изначально не был приспособлен для языка Си в силу крайне ограниченных ресурсов. Но AVR значительно лучше прогается на Си, поэтому книжку по этому языку именно СЛЕДУЕТ читать. Зачем? Затем, чтобы заработало то, что вы хотите. Вам же объяснили несколько раз, почему sizeof не будет работать в вашем случае. Потому что при передаче в функцию с точки зрения компилятра теряется связь с параметрами исходного массива - компилятор больше не может вычислить размер массива, он видит только указатель на первый его элемент.


Вернуться наверх
 
 Заголовок сообщения: Re: CodeVision AVR в вопросах и ответах
СообщениеДобавлено: Вс мар 01, 2026 20:25:28 
Вымогатель припоя
Аватар пользователя

Карма: -15
Рейтинг сообщений: -27
Зарегистрирован: Пн июн 03, 2024 22:29:24
Сообщений: 578
Рейтинг сообщения: 0
Более менее понятно . Интересует метод вызова функции, и что бы он был стандартным - именно как и родной библиотеке ( не важно как называется ) типа xxx_lcd ( " ПРИВЕТ ")

Добавлено after 8 minutes 27 seconds:
Ну или не "метод" пусть будет -синтаксис .

Добавлено after 5 minutes 24 seconds:
Вот именно это ключевой момент .

Добавлено after 5 minutes 50 seconds:
Просто хочу сделать универсальную библиотеку LCD с кириллицой для CV AVR, как сделал для PIC CCS .


Вернуться наверх
 
 Заголовок сообщения: Re: CodeVision AVR в вопросах и ответах
СообщениеДобавлено: Вс мар 01, 2026 20:27:04 
Встал на лапы

Зарегистрирован: Пн фев 16, 2026 17:30:02
Сообщений: 135
Рейтинг сообщения: 0
Я показал выше - первое сообщение на этой странице. Длину строки можно не передавать, но в функции нужно не вычислять длину, а выводить строку до момента обнаружения в строке нуль-символа '\0' (технически он равен 0).
Однако, для универсальности длину строки всё-таки следует передавать в явном виде. Потому что строка не всегда может быть нуль-терминированной.


Вернуться наверх
 
 Заголовок сообщения: Re: CodeVision AVR в вопросах и ответах
СообщениеДобавлено: Вс мар 01, 2026 20:47:10 
Вымогатель припоя
Аватар пользователя

Карма: -15
Рейтинг сообщений: -27
Зарегистрирован: Пн июн 03, 2024 22:29:24
Сообщений: 578
Рейтинг сообщения: -1
Rapra писал(а):
Я показал выше - первое сообщение на этой странице.

Где там вызов функции ?

Добавлено after 7 minutes 29 seconds:
Я же вроде по РУССКИ объяснял что нужен синтаксис вызова - имя функции (" ПРИВЕТ") ; И никак по другому ... Если невозможно по другому то почему ?

Добавлено after 2 minutes 28 seconds:
Пусть П - будет идентификатор начала строки , я разберусь что делать дальше .


Вернуться наверх
 
 Заголовок сообщения: Re: CodeVision AVR в вопросах и ответах
СообщениеДобавлено: Вс мар 01, 2026 20:49:04 
Встал на лапы

Зарегистрирован: Пн фев 16, 2026 17:30:02
Сообщений: 135
Рейтинг сообщения: 0
А я что, по-грузински написал чтоль?
Чтоб понять синтаксис функции, написанный в начале этой страницы, как раз и НУЖНО ЧИТАТЬ КНИЖКУ ПО ЯЗЫКУ СИ. Пока не прочтете - не поймете.


Вернуться наверх
 
 Заголовок сообщения: Re: CodeVision AVR в вопросах и ответах
СообщениеДобавлено: Вс мар 01, 2026 21:01:16 
Вымогатель припоя
Аватар пользователя

Карма: -15
Рейтинг сообщений: -27
Зарегистрирован: Пн июн 03, 2024 22:29:24
Сообщений: 578
Рейтинг сообщения: -4
Информация очень ценная ! Куда деньги переводить ?

Добавлено after 7 minutes 45 seconds:
Это как по электронике , спрашиваешь -" кто юзал микросхему HX711 " , а тебе отвечают -" дак ты читай даташиты" - ГЕНИАЛЬНО !!! А я то Dibил не думал что так можно было .


Вернуться наверх
 
 Заголовок сообщения: Re: CodeVision AVR в вопросах и ответах
СообщениеДобавлено: Вс мар 01, 2026 22:23:37 
Встал на лапы

Зарегистрирован: Пн фев 16, 2026 17:30:02
Сообщений: 135
Рейтинг сообщения: 0
Код:
void PrintLCD(const char *str);

PrintLCD("ПРИВЕТ");


так же допускается
Код:
void PrintLCD(const char str[]);


Вернуться наверх
 
 Заголовок сообщения: Re: CodeVision AVR в вопросах и ответах
СообщениеДобавлено: Вс мар 01, 2026 23:04:38 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 98
Рейтинг сообщений: 2120
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 18511
Откуда: Новочеркасск
Рейтинг сообщения: 1
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
Я ж вам привел ядро вашей функции без дурацкого цикла по количеству символов... Поместите его внутрь вашей функции, и будет у вас "универсальная" функция.

Хотя поддержу тех, кто рекомендует хотя бы основы языка Си изучить... Хотя бы те, которые одинаковы для всех "диалектов": массивы, указатели, циклы и функции stdlib

_________________
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!


Вернуться наверх
 
 Заголовок сообщения: Re: CodeVision AVR в вопросах и ответах
СообщениеДобавлено: Пн мар 02, 2026 13:07:48 
Первый раз сказал Мяу!
Аватар пользователя

Зарегистрирован: Чт авг 27, 2020 13:15:49
Сообщений: 22
Рейтинг сообщения: 0
На крайняк можно у ИИ попросить проверить исходник.
Он часто подсказывает что не так, и даже может объяснить почему надо пользоваться тем или иным.


Вернуться наверх
 
 Заголовок сообщения: Re: CodeVision AVR в вопросах и ответах
СообщениеДобавлено: Пт мар 06, 2026 12:54:37 
Друг Кота
Аватар пользователя

Карма: 52
Рейтинг сообщений: 2118
Зарегистрирован: Пт ноя 11, 2016 05:48:09
Сообщений: 7075
Откуда: Сердце Пармы
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (2)
При передаче массивов (и прочего разноразмерного) в функцию просто передаю размер отдельным параметром
А если хочется покрасивее - оборачиваю функцию в дефайн, который сам подставит sizeof(имя массива) в нужный параметр и при задании функции не придётся писать имя массива дважды

_________________
Для тех, кто не учил магию мир полон физики :)
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...


Вернуться наверх
 
 Заголовок сообщения: Re: CodeVision AVR в вопросах и ответах
СообщениеДобавлено: Сб мар 07, 2026 14:35:26 
Вымогатель припоя
Аватар пользователя

Карма: -15
Рейтинг сообщений: -27
Зарегистрирован: Пн июн 03, 2024 22:29:24
Сообщений: 578
Рейтинг сообщения: 0
ARV писал(а):
Я ж вам привел ядро вашей функции без дурацкого цикла по количеству символов... Поместите его внутрь вашей функции, и будет у вас "универсальная" функция.

И оно работает , но есть непонятные моменты - почему работает ....

Код:
char Transcode(const char ch)
{
   const char table[] = {65,160,66,161,224,69,163,164,165,166,75,167,77,72,79,168,80,67,84,169,170,88,225,171,172,226,196,174,173,175,176,177};
   return table[ch - 'А'];// А -русская
}


void pint_rus (const char *str)
{
    while( *str != '\0')
   {
      char code;
      if(*str >= 'А')
         code = Transcode(*str);
      else
         code = *str;

     lcd_putchar(code);
      str++;
   }


}

void main(void)
 {
   pint_rus("РЕЗУЛЬТ=");
 }



Изображение

Добавлено after 1 hour 6 minutes 16 seconds:
Ну вопрос номер 1 .
void pint_rus (const char *str)
точнее-const char *str - это типа указатель ... на что ? На начало строки .. Хорошо ... это указатель на начало строки в памяти МК , каково его значение ? Какой у него тип ?

Добавлено after 1 minute 56 seconds:
Почему он const а его можно менять
str++;

Добавлено after 5 minutes 36 seconds:
Вопрос номер два !
В функциях СИ переменные создаются на время жизни функции , а константы ?
Ну переменные хранятся в регистрах , а константы во флеш ... то есть объявление const в функции будет убивать каждый раз програмную флеш память ?


Вернуться наверх
 
 Заголовок сообщения: Re: CodeVision AVR в вопросах и ответах
СообщениеДобавлено: Сб мар 07, 2026 15:23:10 
Встал на лапы

Зарегистрирован: Пн фев 16, 2026 17:30:02
Сообщений: 135
Рейтинг сообщения: 0
Скачать книгу "Язык программирования Си", Б. Керниган, Д. Ритчи


Вернуться наверх
 
 Заголовок сообщения: Re: CodeVision AVR в вопросах и ответах
СообщениеДобавлено: Сб мар 07, 2026 15:51:22 
Вымогатель припоя
Аватар пользователя

Карма: -15
Рейтинг сообщений: -27
Зарегистрирован: Пн июн 03, 2024 22:29:24
Сообщений: 578
Рейтинг сообщения: 0
А как же микроконтроллеры ? Там же книга для компутеров !?


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 8410 ]     ... , , , 420,  

Часовой пояс: UTC + 3 часа


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y