Например TDA7294

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

Текущее время: Ср ноя 26, 2025 08:08:53

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


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



Начать новую тему Ответить на тему  [ Сообщений: 1499 ]     ... , , , 8, , , ...  
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: Нескольно простых вопросов о программировании AVR на Си.
СообщениеДобавлено: Ср июл 15, 2015 14:11:01 
Друг Кота
Аватар пользователя

Карма: 86
Рейтинг сообщений: 1035
Зарегистрирован: Чт апр 11, 2013 11:19:59
Сообщений: 4891
Откуда: Минск
Рейтинг сообщения: 1
С чего Вы взяли, что он ни на что не указывает? Функция ведь не сама по себе существует, её откуда-то из кода вызывают.

Код:
void lcd_string(unsigned char command, char *string)
{
...
  lcd_data(*string);
  string++;
...
}

int main(void)
{
...
  lcd_string(0xC4, "  :  :  ");
...
}


Здесь " : : " - массив из 9 элементов типа char, указатель на нулевой элемент и передаётся в функцию.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нескольно простых вопросов о программировании AVR на Си.
СообщениеДобавлено: Ср июл 15, 2015 16:41:23 
Грызет канифоль

Карма: 1
Рейтинг сообщений: 0
Зарегистрирован: Чт мар 11, 2010 17:45:37
Сообщений: 269
Откуда: г.фрязино
Рейтинг сообщения: 0
только не бейте)) почему lcd_string(0xC4, " : : "); массив (маcсив же определить надо [] )? 9ть символов это с нуль символом?

Как это работает?
1) в главной функции компилятор доходит до lcd_string(0x81, "«acГ Ѕa DS1307");
2)уходит на функцию void lcd_string(unsigned char command, char *string)
3) и что за чудеса происходят дальше?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нескольно простых вопросов о программировании AVR на Си.
СообщениеДобавлено: Ср июл 15, 2015 17:37:54 
Друг Кота
Аватар пользователя

Карма: 86
Рейтинг сообщений: 1035
Зарегистрирован: Чт апр 11, 2013 11:19:59
Сообщений: 4891
Откуда: Минск
Рейтинг сообщения: 1
В языке C массив - это фактически указатель на его первый элемент. Например:
Код:
char a[9]; // создали массив из 9 байтов
char *x; // создали переменную-указатель на char
char *y; // ещё одну такую же
x = &a[0]; // в x передали адрес нулевого элемента массива
y = a; // фактически сделали то же самое, теперь x и y равны, т.к. указывают на одну и ту же область памяти

По коду:
Код:
lcd_string(0xC4, "  :  :  ");
// Это можно было бы записать и так:
char *a = "  :  :  ";
lcd_string(0xC4, a);
// или так:
char a[] = {' ', ' ', ':', ' ', ' ', ':', ' ', ' ', 0}
lcd_string(0xC4, a);

Имени в первом варианте у этого массива нет ввиду ненадобности. Этот массив (т.е., адрес его нулевого элемента) и передаётся в функцию и присваивается переменной (указателю на char) string. Ну а дальше уже всё понятно - внутри функции указатель (string) инкрементируется до тех пор, пока то, на что он указывает (*приращивается,string), не станет равно нулю (конец строки).


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нескольно простых вопросов о программировании AVR на Си.
СообщениеДобавлено: Чт июл 16, 2015 10:03:45 
Грызет канифоль

Карма: 1
Рейтинг сообщений: 0
Зарегистрирован: Чт мар 11, 2010 17:45:37
Сообщений: 269
Откуда: г.фрязино
Рейтинг сообщения: 0
все равно пока непонятно как работает такой массив надо попробовать переписать в обычном виде.

Возник вопрос а что хранится в переменной unsigned char command какова роль этой переменной?

void lcd_string(unsigned char command, char *string)
{
lcd_com(0x0C);
lcd_com(command);
while(*string != '\0')
{ lcd_data(*string);
string++;
}
}

Получается переменные unsigned char command, char *string обьявляются в функции void lcd_string и работают только в пределах этой функции? можно ли их объявить глобально чтобы они работали на протяжении всего кода и как бы выглядела тогда функция void lcd_string?


Вернуться наверх
 
Эиком - электронные компоненты и радиодетали
Не в сети
 Заголовок сообщения: Re: Нескольно простых вопросов о программировании AVR на Си.
СообщениеДобавлено: Чт июл 16, 2015 10:47:57 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 98
Рейтинг сообщений: 2133
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 18428
Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
mastech писал(а):
Получается переменные unsigned char command, char *string обьявляются в функции void lcd_string и работают только в пределах этой функции?
вы только что сделали открытие! а ведь если бы прочли любую книгу по основам языка Си, открытие бы не состоялось... может, все-таки рискнете сначала почитать о языке, на котором собираетесь программировать?
mastech писал(а):
можно ли их объявить глобально чтобы они работали на протяжении всего кода и как бы выглядела тогда функция void lcd_string?
можно, например, так:
Код:
static unsigned char command;

void lcd_string(char *string){
   lcd_com(0x0C);
   lcd_com(command);
   while(*string != '\0'){
      lcd_data(*string);
      string++;
   }
}
но не нужно - плохой стиль как минимум.

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

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


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нескольно простых вопросов о программировании AVR на Си.
СообщениеДобавлено: Чт июл 16, 2015 11:52:25 
Грызет канифоль

Карма: 1
Рейтинг сообщений: 0
Зарегистрирован: Чт мар 11, 2010 17:45:37
Сообщений: 269
Откуда: г.фрязино
Рейтинг сообщения: 0
ARV ваши ответы воспринимаются таким образом как будто вы хотите обидеть, высмеять, уличить в глупости.

я не делаю открытий я пытаюсь учится и мне нужна в этом помощь, собственно поэтому я здесь. книги читаю/дочитал (Грег Перри, Дин Миллер. Деннис Ритчи(туговато идет), Белов(не до конца) Прокопенко(начал))

надо больше практиковаться но на это крайне мало времени (работа, дом, семья), все по возможности.

За помощь спасибо.

и все таки что хранится в unsigned char command?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нескольно простых вопросов о программировании AVR на Си.
СообщениеДобавлено: Чт июл 16, 2015 12:29:13 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 98
Рейтинг сообщений: 2133
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 18428
Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
извините, но я на самом деле порой занимаюсь высмеиванием, если считаю, что это заслуженно. хотя чаще я изо всех сил стараюсь натолкнуть каждого на верный путь...
ваши попытки разобраться с достаточно сложным проектом мне напоминают попытки совершить заплыв через Ламанш, при том что плавать вы только со спасательным кругом вчера научились. нужно же начинать с изучения основ, а потом уже применять эти основы на практике, а не наоборот.

что хранится в unsigned char command лично мне неизвестно: чтобы ответить на этот вопрос, нужно либо быть автором вашей программы, либо изучить ее от корки до корки - и то и другое явно не моё... но можно быть уверенным, что там хранится какой-то байт :)))

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

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


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нескольно простых вопросов о программировании AVR на Си.
СообщениеДобавлено: Чт июл 16, 2015 13:36:20 
Грызет канифоль

Карма: 1
Рейтинг сообщений: 0
Зарегистрирован: Чт мар 11, 2010 17:45:37
Сообщений: 269
Откуда: г.фрязино
Рейтинг сообщения: 0
ARV писал(а):
извините, но я на самом деле порой занимаюсь высмеиванием, если считаю, что это заслуженно.

крайне неверное решение, что касается обучения.
Была училка по математике в 7 классе, относилась она к ученикам которые туго понимали, крайне неуважительно, сажала на задние парты, не вызывала к доске, не отвечала на вопросы, решив что учить таких учеников смысла нет.
В 8 классе пришел новый учитель подход к обучению был совершенно другой, первым делом на новой теме к доске шли троечники в том числе и я, развернутые ответы, разбор полетов, в общем замечательный учитель, в итоге 4-5 и полное понимание тем, контрольные не казались страшным сном.
Жаль что в следующем году ее не было(выжили другие учителя), и к нам вернулась прежняя училка Панфилова, и алгебра снова стала не очень приятным предметом(тут конечно не малую роль должны были сыграть родители, обратить внимание на разницу в успеваемости, но не обратили, а у меня в таком возрасте были другие интересы)) и уже прошло очень много много лет ).

ARV ваши ответы крайне неприятны, может пусть другой ответит. Здесь же не форум профессионалов, а любителей которые сами учатся в свободное время, и сами составляют учебную программу не всегда правильную.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нескольно простых вопросов о программировании AVR на Си.
СообщениеДобавлено: Чт июл 16, 2015 14:02:12 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 98
Рейтинг сообщений: 2133
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 18428
Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
mastech писал(а):
ARV ваши ответы крайне неприятны, может пусть другой ответит. Здесь же не форум профессионалов, а любителей которые сами учатся в свободное время, и сами составляют учебную программу не всегда правильную.

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

если вы хотите, чтобы вам помогли исправить неправильную учебную программу (я имею ввиду программу обучения) - обращайте внимание на критику. критика редко приятна. если вы хотите шагать по своей неверной дорожке - вряд ли кто захочет вам помогать делать новые ошибки...

засим разглагольствования заканчиваю.

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

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


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нескольно простых вопросов о программировании AVR на Си.
СообщениеДобавлено: Чт июл 16, 2015 14:11:44 
Грызет канифоль

Карма: 1
Рейтинг сообщений: 0
Зарегистрирован: Чт мар 11, 2010 17:45:37
Сообщений: 269
Откуда: г.фрязино
Рейтинг сообщения: 0
да вы ARV по ходу мудило еще то.

нормальные люди нормально отвечают без гигантских шрифтов и прочего высера, например WiseLord прекрасно отвечает, понятно.

Бан 7 дней за оскорбления.
Alex


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нескольно простых вопросов о программировании AVR на Си.
СообщениеДобавлено: Чт июл 16, 2015 14:24:29 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 98
Рейтинг сообщений: 2133
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 18428
Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
нормальные люди к оскорблениям не прибегают.

то, что есть люди, готовые на невоспитанных грубиянов тратить свое время (например, как WiseLord), разъясняя им то, то каждый умеющий читать может прочесть в книжке (их именно для новичков пишут - вы в курсе?) - это факт. только я уже вышел из возраста, когда тратят свое время на то, что нужно грубиянам - я трачу его на то, что хочется мне. и вам придется с этим смириться.

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

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


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нескольно простых вопросов о программировании AVR на Си.
СообщениеДобавлено: Чт июл 16, 2015 14:25:25 
Друг Кота
Аватар пользователя

Карма: 86
Рейтинг сообщений: 1035
Зарегистрирован: Чт апр 11, 2013 11:19:59
Сообщений: 4891
Откуда: Минск
Рейтинг сообщения: 0
mastech писал(а):
а что хранится в переменной unsigned char command какова роль этой переменной?
Вы же ниже приводите код, из которого явно видно, что там хранится некая команда, которую дальше передают в функцию lcd_com(). А что за команда - это уже завист от того, откуда вызывается lcd_string().

И этот вопрос, как заметил ув. ARV, действительно глупый. Потому что ответ на него можно получить, просто посмотрев на код, и имея минимальное соображение и минимальное представление о том, что такое функция и её аргументы. Вы сами только писали, что математику вроде как знаете, а разница между функцией в программировании и в математике минимальна.


Последний раз редактировалось WiseLord Чт июл 16, 2015 14:39:08, всего редактировалось 1 раз.

Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нескольно простых вопросов о программировании AVR на Си.
СообщениеДобавлено: Чт июл 16, 2015 14:29:31 
Друг Кота
Аватар пользователя

Карма: 27
Рейтинг сообщений: 33
Зарегистрирован: Пн ноя 22, 2010 00:57:15
Сообщений: 6296
Откуда: Ukraine
Рейтинг сообщения: 0
простите за флуд, по поводу учителей и математики я соглашусь с mastech поскольку у меня был "ВЫДАЮЩИЙСЯ" учитель математики
каждый раз приходя на урок он заставлял нас ТУПО переписывать очередную тему, соответственно из класса только одна девочка могла сама разобраться во всем этом, а остальные, и я в том числе, пасли задних
он же в свою очеред обижался и иногда хамил в наш адресс мол как этого мы не можем этого понять
перед поступлением в техникум для меня был нанят репетитор, тоже учитель математики, его сестра, кстати,........, так вот, после того как она мне начала обяснять все эти синусы, косинусы и тому подобное то у меня наступило прозрение, настолько все стало ясно и понятно и как думаю я не разумел сего доселе :dont_know:
поэтому, учитель и его метод подачи материала играет ОГРОМНОЕ значение для учащегося !!!
как говорится: один лечит, а другой калечит !

_________________
Tell Me The Truth


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нескольно простых вопросов о программировании AVR на Си.
СообщениеДобавлено: Чт июл 16, 2015 14:32:30 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 98
Рейтинг сообщений: 2133
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 18428
Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
WiseLord писал(а):
как заметил ум. ARV
а я не зря имею звание "Ум, честь и совесть" :))) :))) :)))

FreshMan писал(а):
учитель и его метод подачи материала играет ОГРОМНОЕ значение для учащегося !!!
кто бы спорил. но разве здесь кто-то нанялся кому-то в учителя?! :shock:

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

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


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нескольно простых вопросов о программировании AVR на Си.
СообщениеДобавлено: Чт июл 16, 2015 14:39:42 
Друг Кота
Аватар пользователя

Карма: 86
Рейтинг сообщений: 1035
Зарегистрирован: Чт апр 11, 2013 11:19:59
Сообщений: 4891
Откуда: Минск
Рейтинг сообщения: 0
:) Что-то я в последнее время часто опечатываюсь.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нескольно простых вопросов о программировании AVR на Си.
СообщениеДобавлено: Чт июл 16, 2015 15:13:14 
Друг Кота
Аватар пользователя

Карма: 27
Рейтинг сообщений: 33
Зарегистрирован: Пн ноя 22, 2010 00:57:15
Сообщений: 6296
Откуда: Ukraine
Рейтинг сообщения: 0
ARV писал(а):
FreshMan писал(а):
учитель и его метод подачи материала играет ОГРОМНОЕ значение для учащегося !!!
кто бы спорил. но разве здесь кто-то нанялся кому-то в учителя?! :shock:

упаси Боже !
это все делается от любви к ближнему и на добровольных началах :))

_________________
Tell Me The Truth


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нескольно простых вопросов о программировании AVR на Си.
СообщениеДобавлено: Пт июл 24, 2015 10:38:45 
Потрогал лапой паяльник
Аватар пользователя

Карма: -2
Рейтинг сообщений: 1
Зарегистрирован: Сб фев 18, 2012 14:50:22
Сообщений: 382
Рейтинг сообщения: 2
рас уж такой флуд пошёл, не так давно один человек спросил вопрос,но никакого пояснения не было, не получается говорит, то то и то то сделать не могу. Задаю наводящие вопросы, как всегда, может модуль вообще не работает, может не так параметры передаються, не в том формате и тд. Его ответ был приблизительно таким "что вы мне тут глупые вопросы задаёте, лучше помолчите если не чего сказать, может за умного сойдёте" и самый перл "научитесь формулировать свои вопросы!". СВОИ ВОПРОСЫ, ребята, СВОИ! Так это его был вопрос а не мой! как же так?

_________________
я его в гугл на дрц прогнал, вы знаете, пи-када нет.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нескольно простых вопросов о программировании AVR на Си.
СообщениеДобавлено: Пт июл 24, 2015 15:11:50 
Друг Кота
Аватар пользователя

Карма: 62
Рейтинг сообщений: 885
Зарегистрирован: Вт апр 24, 2007 07:45:40
Сообщений: 6173
Откуда: Minsk
Рейтинг сообщения: 0
То mazda: Ну что поделать, идиотов хватает. И на этот форум иногда заглядывают. :( А некомпетентность часто ходит в одной связке с завышенной самооценкой и хамством.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нескольно простых вопросов о программировании AVR на Си.
СообщениеДобавлено: Пт июл 24, 2015 15:23:04 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 98
Рейтинг сообщений: 2133
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 18428
Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
WiseLord писал(а):
:) Что-то я в последнее время часто опечатываюсь.
ну, в данном-то случае опечатки же нет :)))

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

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


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нескольно простых вопросов о программировании AVR на Си.
СообщениеДобавлено: Вт авг 04, 2015 21:24:44 
Друг Кота

Карма: 13
Рейтинг сообщений: 84
Зарегистрирован: Чт сен 20, 2007 14:08:00
Сообщений: 13796
Рейтинг сообщения: 0
внезапно тупой вопрос
мега8 в дип 2 штуки настроена на внешний генератор или внутренний 8мгц
Код:
void main() {
  DDRC = 0xff;
  DDRD = 0xff;
  DDRB = 0xff;

 
  while(1)
  {
          PORTC = 0;
          PORTB = 0;
          PORTD = 0;
          delay_ms(500);
          PORTC = 0xff;
          PORTB = 0xff;
          PORTD = 0xff;
          delay_ms(500);
  }
}

не горят светодиоды на pc6 7, pb6 7
ну пц6 сброс, а остальным чего надо? бп67 это кварц, но там нет кварца
на плате есть дип переключатели для подтяжки резисторов к верху и в этом режиме светодиоды горят почти в полный накал, но не мигают, как будто внутри порт отключен

компилятор mikroc

файл прилогаю


Вложения:
test.hex [382 байт]
Скачиваний: 468

_________________
тематические ответы только в форуме, в приват не пишите
Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 1499 ]     ... , , , 8, , , ...  

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


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

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


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

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


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