Например TDA7294

Форум РадиоКот • Просмотр темы - Вопросы по С/С++ (СИ)
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Вт апр 16, 2024 21:13:04

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


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



Начать новую тему Ответить на тему  [ Сообщений: 7581 ]     ... , , , 250, , , ...  
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: Вопросы по С/С++ (СИ)
СообщениеДобавлено: Ср июн 21, 2017 06:47:57 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 97
Рейтинг сообщений: 2058
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 18030
Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
Зурбаган писал(а):
Выглядеть это может вот так, на примере вывода двух строк в классический двухстрочник 1602
printf и fprintf смотрятся гораздо органичнее при использовании именно потокового вывода, для чего надо определить одну-единственную функцию вывода символа, я ранее рассказывал (на своём сайте), как это можно сделать. и тогда на самом деле красота: хоть в USART, хоть на дисплей, хоть азбукой Морзе...

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

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


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы по С/С++ (СИ)
СообщениеДобавлено: Вс июн 25, 2017 13:52:54 
Открыл глаза

Карма: 1
Рейтинг сообщений: 3
Зарегистрирован: Вс июн 18, 2017 08:12:41
Сообщений: 76
Рейтинг сообщения: 2
Так то оно так, но вы хотите, чтобы у вопрошавшего порвался мозг от многочисленных связей между функциями? :)) Тем более, что судя по всему, у него и так уже он закипел :)
Там, в его случае - графический дисплей. А в графическом дисплее координаты вывода не задаются однозначно строкой. И если иметь дело с пропорциональными шрифтами (у которых разная ширина символа - ifr и Жшы - разной ширины), не получается подравнять вывод "пробелами" и не получается точно угадать занимаемую строкой ширину. Посему, "печатающая" функция должна хорошо взаимодействовать с модулем растровой графики.
Вдобавок, у ARM-ов встроенные "печатающие" функции тянут за собой капец как много всякого хлама от Newlib, и прежде чем взять стандартную printf, двадцать раз подумаешь - а нужно ли тебе вообще это, чтобы напечатать банальное "Напряжение: 12,4 В, Ток: 7,6 А". Это всё можно сделать самописным методом.

Текст (массив символов) по умолчанию считается signed?

Он считается как const char, а вот как распознается char без явного указания знака (signed или unsigned) - это уже определяется на уровне принятых компилятором условностей. В вашем случае, char считается как signed char, то есть, знаковым однобайтным. Точно так же как и int без явного указания считается signed int.
Чтобы предупреждений в вашем случае не возникало, нужно принудительно привести тип у вашей строки к запрашиваемому функцией типу. Т.е., (unsigned char*)"Hello world"

_________________
Ёшкин кот обормот


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы по С/С++ (СИ)
СообщениеДобавлено: Вс июн 25, 2017 15:36:51 
Сверлит текстолит когтями
Аватар пользователя

Карма: 25
Рейтинг сообщений: 168
Зарегистрирован: Ср янв 29, 2014 08:41:31
Сообщений: 1231
Откуда: Баку
Рейтинг сообщения: 0
Чтобы предупреждений в вашем случае не возникало, нужно принудительно привести тип у вашей строки к запрашиваемому функцией типу. Т.е., (unsigned char*)"Hello world"

Спасибо, помогло.

_________________
Каждый имеет право на свое личное ошибочное мнение.

У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.


Вернуться наверх
 
PCBWay - всего $5 за 10 печатных плат, первый заказ для новых клиентов БЕСПЛАТЕН

Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

Онлайн просмотровщик Gerber-файлов от PCBWay + Услуги 3D печати
Не в сети
 Заголовок сообщения: Re: Вопросы по С/С++ (СИ)
СообщениеДобавлено: Сб июл 22, 2017 00:48:49 
Открыл глаза

Зарегистрирован: Вс окт 21, 2012 17:32:00
Сообщений: 40
Откуда: СССР
Рейтинг сообщения: 0
Подскажите как правильно объявить функцию - draw_men.
Вообще то так компилируется и работает. Но однако ругается Keil 5 с stm32.
Код:
struct text_menu
{
 char *bi_1;
 char *bi_2;
 char *bi_3;
 char *bi_4;
 char *bi_5;
 char *bi_6;
 char *bi_7;
 char *bi_8;

}tex_1,tex_12,tex_42,tex_43,tex_44,tex_62,tex_72;       
struct text_menu *lv_1  = &tex_1;                       
struct text_menu *lv_12 = &tex_12;                     


void draw_men(struct text_menu* op,char parag)

{

//тут мой код, что-то делает. Думаю это не так важно.

}


Вернуться наверх
 
Организация питания на основе надежных литиевых аккумуляторов EVE и микросхем азиатского производства

Качественное и безопасное устройство, работающее от аккумулятора, должно учитывать его физические и химические свойства, профили заряда и разряда, их изменение во времени и под влиянием различных условий, таких как температура и ток нагрузки. Мы расскажем о литий-ионных аккумуляторных батареях EVE и нескольких решениях от различных китайских компаний, рекомендуемых для разработок приложений с использованием этих АКБ. Представленные в статье китайские аналоги помогут заменить продукцию западных брендов с оптимизацией цены без потери качества.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Вопросы по С/С++ (СИ)
СообщениеДобавлено: Вс июл 23, 2017 09:07:13 
Потрогал лапой паяльник
Аватар пользователя

Карма: 20
Рейтинг сообщений: 121
Зарегистрирован: Вс янв 19, 2014 22:41:55
Сообщений: 353
Рейтинг сообщения: 0
Подскажите как правильно объявить функцию - draw_men.
Вообще то так компилируется и работает. Но однако ругается Keil 5 с stm32.

Практика - критерий истины. Исчерпывающее предоставление материала для размышлений не только экономит время тех, кому предлагаете поразмышлять над вашей проблемой, но и стимулирует их к этому. Ругань - в студию! © :)

_________________
Одновременным нажатием LIGHT и POWER, РП Sangean ATS-909X (ver 1.29) превращается в ATS-909XR! ;-)


Вернуться наверх
 
Новый аккумулятор EVE серии PLM для GSM-трекеров, работающих в жёстких условиях (до -40°С)

Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре. Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Вопросы по С/С++ (СИ)
СообщениеДобавлено: Вс июл 23, 2017 10:52:39 
Открыл глаза

Зарегистрирован: Вс окт 21, 2012 17:32:00
Сообщений: 40
Откуда: СССР
Рейтинг сообщения: 0
Практика - критерий истины. Исчерпывающее предоставление

Если про критерий истины то пожалуйста в личку. :))
Вот так он ругается.
Код:
#223-D: function "draw_men" declared implicitly.
так ругается на попытку объявить
main.c(3): error:  #110: expected either a definition or a tag name
void draw_men(struct *char,char);
main.c(3): error:  #110: expected either a definition or a tag name

Собственно это весь код проблемы . За исключением главной функции "main".
То что пишет Кейл понятно. Остальное не ясно.... :))
Когда draw_men - ничего не делает т.е. вообще "пустая" Ничего не меняется.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы по С/С++ (СИ)
СообщениеДобавлено: Вс июл 23, 2017 12:49:48 
Поставщик валерьянки для Кота

Карма: 16
Рейтинг сообщений: 329
Зарегистрирован: Вт ноя 27, 2007 11:32:06
Сообщений: 2222
Откуда: Tashkent
Рейтинг сообщения: 0
Код:
main.c(3): error:  #110: expected either a definition or a tag name
void draw_men(struct *char,char);

Вот это прототип функции

Код:
void draw_men(struct text_menu* op,char parag)
{
}

Вот это её реализация

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


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы по С/С++ (СИ)
СообщениеДобавлено: Пн июл 24, 2017 09:03:04 
Потрогал лапой паяльник
Аватар пользователя

Карма: 20
Рейтинг сообщений: 121
Зарегистрирован: Вс янв 19, 2014 22:41:55
Сообщений: 353
Рейтинг сообщения: 0
Практика - критерий истины.

Если про критерий истины то пожалуйста в личку. :))

Как предупреждал Приснопамятный - "Приватно - не консультироваю!" :) Но вообще это была отсылка к первому правилу эксплоатации - "Работает - не трогай!".

void draw_men(struct *char,char);

Во-первы́х - char - это зарезервированное слово языка и именем параметра быть не может, во-вто́рых - тип этого якобы "параметра" указан не полностью... В сюхе, в отличие от плюсов - имя типа структуры типом не является - такштаааа.... © извольте прописать ФИО полностью. Во-третьих - имени структурированного типа там не фигурирует от слова "вапще". ;-)

_________________
Одновременным нажатием LIGHT и POWER, РП Sangean ATS-909X (ver 1.29) превращается в ATS-909XR! ;-)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы по С/С++ (СИ)
СообщениеДобавлено: Пн июл 24, 2017 11:27:39 
Открыл глаза

Зарегистрирован: Вс окт 21, 2012 17:32:00
Сообщений: 40
Откуда: СССР
Рейтинг сообщения: 0
Не плохо бы увидеть, как слова трансформируете в С код.
Это и будет наглядным проявления вашей истины :)) в этом вопросе.
Упрощу - как объявлять функцию в параметрах вызова которой адрес одной из переменной структуры.
Структуру вы видели. Вызов к примеру так
Код:
draw_men(&tex_1)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы по С/С++ (СИ)
СообщениеДобавлено: Пн июл 24, 2017 15:00:05 
Потрогал лапой паяльник
Аватар пользователя

Карма: 20
Рейтинг сообщений: 121
Зарегистрирован: Вс янв 19, 2014 22:41:55
Сообщений: 353
Рейтинг сообщения: 0
Не плохо бы увидеть, как слова трансформируете в С код. Это и будет наглядным проявления вашей истины

Аксиома "Работает - не трогай" требует доказательства? :-D
Упрощу - как объявлять функцию в параметрах вызова которой адрес одной из переменной структуры.

Ответов стало быть не читаете? Вы были в одном шаге от верного решения проблемы. Хинт: структура здесь не при чём. Важен тип передаваемого параметра. Куда и насколько многомерно он включается - принимающей функции безразлично - она работает либо с копией параметра в стеке, либо по адресу, на который указывает параметр.
Структуру вы видели.

Несогласия с компилятором по поводу синтаксических ошибок - верный признак того, что скоро снова придётся почитать опостылевшую "книжку по Си"™. ;)
Вызов к примеру так
Код:
draw_men(&tex_1)

Не бъётся фактура с предпоследней вашей цитатой - там где "в параметрах вызова адрес одной из полей структуры". Семантика имени функции настаивает на том, что вы желаете передать в функцию указатель типа struct text_menu* на данные собствено объекта, хотя, впрочем, никто не мешает передать туда и указатель на данные поля, типа конечно-же const char*, но в этом случае компилятор либо заставит вас указать какую именно переменную в структуре вы передаёте, либо вы заткнёте его прямым приведением типа указателя и функция будет вынуждена кушать данныe поля .bi_1. В обеих случаях победит умнейший.

_________________
Одновременным нажатием LIGHT и POWER, РП Sangean ATS-909X (ver 1.29) превращается в ATS-909XR! ;-)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы по С/С++ (СИ)
СообщениеДобавлено: Пн июл 24, 2017 19:09:22 
Открыл глаза

Зарегистрирован: Вс окт 21, 2012 17:32:00
Сообщений: 40
Откуда: СССР
Рейтинг сообщения: 0
Повторюсь. Хорошо бы многословие заменить кодом.
Если не удобно показать на моём примере. Покажите на своём - надеюсь смогу понять. :))
Несколько строк Си гораздо информативнее.
Первое правило , что вы написали содержит слово "эксплуатации", для этого оно годится.
Надеюсь, мы с вами тут другим занимаемся. :))


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы по С/С++ (СИ)
СообщениеДобавлено: Пн июл 24, 2017 19:38:49 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 97
Рейтинг сообщений: 2058
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 18030
Откуда: Новочеркасск
Рейтинг сообщения: 1
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
Не плохо бы увидеть, как слова трансформируете в С код.
Это и будет наглядным проявления вашей истины :)) в этом вопросе.
Упрощу - как объявлять функцию в параметрах вызова которой адрес одной из переменной структуры.
Структуру вы видели. Вызов к примеру так
Код:
draw_men(&tex_1)

Код:
draw_men(&tex_1.bi_1);
передача в функцию адреса одного поля структуры. только в структуре у вас каждое поле - это указатель, поэтому тип параметра в функции должен быть char ** - указатель на указатель на символ. если надо просто передать значение этого поля, то тогда тип char * в параметре функции, а вызов просто
Код:
draw_men(tex_1.bi_1);

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

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


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы по С/С++ (СИ)
СообщениеДобавлено: Пн июл 24, 2017 19:46:55 
Открыл глаза

Зарегистрирован: Вс окт 21, 2012 17:32:00
Сообщений: 40
Откуда: СССР
Рейтинг сообщения: 0
ARV cпасибо . Это уже руководство к действию. :))


Вернуться наверх
 
Не в сети
 Заголовок сообщения: опознать старый компилятор
СообщениеДобавлено: Чт сен 07, 2017 19:52:17 
Нашел транзистор. Понюхал.
Аватар пользователя

Зарегистрирован: Пн сен 05, 2011 10:03:06
Сообщений: 160
Откуда: Тула
Рейтинг сообщения: 0
На работе реанимируют очень старый проект 2002 года. Люди которые его писали давно уволились и контакты потеряны. От них остался исходник на си для МК серии MCS-51. В кейле он не компилируется, выдает кучу ошибок/предупреждений. Ругается он на такую строку:
#include <io51.h>
выдает что неизвестны прагмы:
#pragma memory=code
#pragma memory=idata
#pragma memory=pdata
не понимает таких заголовков прерываний:
void interrupt[0x0B] timer0_interrupt(void)
В кейле то же самое прерывание должно быть так: "void timer0_interrupt(void) interrupt 1"

Конечно все это можно бы перевести на современный компилятор, но начальство хочет чтоб для контроля сначала скомпилировать неправленый текст. Помогите опознать чем это транслировали в 2002 году.

_________________
Если бы на станции "Мир" стояли Винды, она бы еще висела и висела...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы по С/С++ (СИ)
СообщениеДобавлено: Чт сен 07, 2017 21:07:26 
Сверлит текстолит когтями
Аватар пользователя

Карма: 25
Рейтинг сообщений: 168
Зарегистрирован: Ср янв 29, 2014 08:41:31
Сообщений: 1231
Откуда: Баку
Рейтинг сообщения: 0
В гугле такое написание прерывания находится у IAR.

_________________
Каждый имеет право на свое личное ошибочное мнение.

У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы по С/С++ (СИ)
СообщениеДобавлено: Чт сен 07, 2017 21:27:29 
Нашел транзистор. Понюхал.
Аватар пользователя

Зарегистрирован: Пн сен 05, 2011 10:03:06
Сообщений: 160
Откуда: Тула
Рейтинг сообщения: 0
В гугле такое написание прерывания находится у IAR.

Не согласен. Вот как описано в туториале на IAR:
Код:
#pragma vector=0xIE0_int /* Symbol defined in I/O header file */
__interrupt void my_interrupt_routine(void)
{
 /* Do something */
}

_________________
Если бы на станции "Мир" стояли Винды, она бы еще висела и висела...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы по С/С++ (СИ)
СообщениеДобавлено: Чт сен 07, 2017 21:29:57 
Сверлит текстолит когтями
Аватар пользователя

Карма: 25
Рейтинг сообщений: 168
Зарегистрирован: Ср янв 29, 2014 08:41:31
Сообщений: 1231
Откуда: Баку
Рейтинг сообщения: 0
Ну это еще и от подключенного компилятора зависит, верно?

_________________
Каждый имеет право на свое личное ошибочное мнение.

У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы по С/С++ (СИ)
СообщениеДобавлено: Чт сен 07, 2017 22:21:08 
Нашел транзистор. Понюхал.
Аватар пользователя

Зарегистрирован: Пн сен 05, 2011 10:03:06
Сообщений: 160
Откуда: Тула
Рейтинг сообщения: 0
Верно. И я ищу этот компилятор. Мне исходник надо скомпилировать.

_________________
Если бы на станции "Мир" стояли Винды, она бы еще висела и висела...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы по С/С++ (СИ)
СообщениеДобавлено: Пт сен 08, 2017 17:02:34 
Друг Кота

Карма: 38
Рейтинг сообщений: 618
Зарегистрирован: Пн апр 06, 2015 11:01:53
Сообщений: 3092
Откуда: москва, уфа
Рейтинг сообщения: 1
похоже старый IAR

Цитата:
In version 5.x, #pragma memory specifies the default location of data objects, and
#pragma function specifies the default location of functions.
...
The following pragma directives have been removed:
codeseg
function
memory
warnings
These pragma directives are recognized and will give a diagnostic message but will have
no effect on the generated code in version 6.x.
Note: Instead of the #pragma codeseg directive, we recommend using the #pragma
location directive or the @ operator for specifying an absolute location.


Вложения:
EW8051_MigrationGuide_v7.pdf [388.72 KiB]
Скачиваний: 385
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы по С/С++ (СИ)
СообщениеДобавлено: Сб сен 09, 2017 09:26:53 
Родился

Зарегистрирован: Ср сен 06, 2017 21:34:45
Сообщений: 5
Рейтинг сообщения: 0
Добрый день, ищу схему измерительного прибора на микроконтроллере запрограммированный на Си, т.к это для диплома схема не должна быть из одного микроконтроллера и двух других элементов. Но в поиске таких схем я натыкался только на схемы ,которые запрограммированы на асемблере или в формате hex


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

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


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 12


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

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


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