Растолкуйте на пальцах, пожалуйста (только без среднего).
CodeVision AVR в вопросах и ответах
Может, конечно, но дело уже на принцип пошло.
Растолкуйте на пальцах, пожалуйста (только без среднего).
Растолкуйте на пальцах, пожалуйста (только без среднего).
Только те, кто предпринимают абсурдные попытки, смогут достичь невозможного.
- Реклама
- Сообщения: 326
- Зарегистрирован: Сб сен 06, 2008 12:56:13
- Сообщения: 2
- Зарегистрирован: Вс июн 05, 2011 16:29:52
Неплохо бы конечно почитать про устройство портов для начала, а то ШИМ, понимаешь..DataLife писал(а):Тыкните меня носом в то место, где я не так делаю?
PINB.3=1; - до начала программы, что бы дальнейший цикл не начался раньше времени, подаю на пинБ.3 лог_1.
PORTB=0x00; - все ноги на "выходе", вроде бы как...
Расталкуйте, что тут имеется в виду под подтяжкой? Я что-то запутался.
Голова кругом... не моё это программирование...
SOS!
Как физически выглядит ваше устройство? Вы можете записывать в ПИНБ.3 все что угодно, но при последующей проверке в цикле значение этого ПИНБ.3 будет определяться уровнями напряжений на нем. Сейчас у вас ПОРТБ.3 в воздухе болтается, вотPINB.3=1; - до начала программы, что бы дальнейший цикл не начался раньше времени, подаю на пинБ.3 лог_1.
Код: Выделить всё
PORTB=0x00;
DDRB=0x03;- Сообщения: 812
- Зарегистрирован: Ср мар 18, 2009 21:14:33
Подскажите пжлст какая реальная скорость программного i2c в CVAVR. Где то читал что можно её увеличить путём уменьшения задержек в скомпиленно коде - мож кто поделится опытом ? - а то я c ASMoм на вы!!!
- Сообщения: 39
- Зарегистрирован: Ср июн 08, 2011 11:32:49
Подскажите почему вылетает ошибка при определении порта и бита для датчика ds18b20
#asm
.equ __w1_port=0x15; PORTC
.equ __w1_bit=3
#endasm
ОШИБКА "Error(s) occured assembly" появляется вкладка библиотеки 1asm и в ней указывается на строки
.equ __w1_port=0x1B
.equ __w1_bit=0x00
если подключаю к этому порту и биту все фу рычит а другой назначить не могу
библиотека <1wire.h> подключена
#asm
.equ __w1_port=0x15; PORTC
.equ __w1_bit=3
#endasm
ОШИБКА "Error(s) occured assembly" появляется вкладка библиотеки 1asm и в ней указывается на строки
.equ __w1_port=0x1B
.equ __w1_bit=0x00
если подключаю к этому порту и биту все фу рычит а другой назначить не могу
библиотека <1wire.h> подключена
- Реклама
Так напиши там, куда указывает ошибка, то же, что и до этого написал.
Этот пост оказался полезен? Не поленись, нажми
слева!

Куплю индикаторы ИТС-1А, ИТС-1Б, ИГВ1-8х5Л, ИГПС1-222/7, ИГПС1-111/7 и подобные.
слева!Куплю индикаторы ИТС-1А, ИТС-1Б, ИГВ1-8х5Л, ИГПС1-222/7, ИГПС1-111/7 и подобные.
- Сообщения: 39
- Зарегистрирован: Ср июн 08, 2011 11:32:49
я прописываю но после компиляции все значение в 1.asm скидываются на прежние значение .вот скрин
- Вложения
-
- 123.JPG
- 1
- (59.09 КБ) 318 скачиваний
Последний раз редактировалось aleksandr88 Ср июн 08, 2011 12:32:08, всего редактировалось 1 раз.
Скрин не видать. Какие вообще библиотеки подключены?
Этот пост оказался полезен? Не поленись, нажми
слева!

Куплю индикаторы ИТС-1А, ИТС-1Б, ИГВ1-8х5Л, ИГПС1-222/7, ИГПС1-111/7 и подобные.
слева!Куплю индикаторы ИТС-1А, ИТС-1Б, ИГВ1-8х5Л, ИГПС1-222/7, ИГПС1-111/7 и подобные.
- Сообщения: 39
- Зарегистрирован: Ср июн 08, 2011 11:32:49
да скрин не хочет грузится(
библиотеки 1wire,delay.h,ds18b20.h,lcd.h,stdio.h и проект подключил автоматом mega16_bits.h,stdarg.h
библиотеки 1wire,delay.h,ds18b20.h,lcd.h,stdio.h и проект подключил автоматом mega16_bits.h,stdarg.h
Если можно дайте пожалуйста код на Си.
Этот пост оказался полезен? Не поленись, нажми
слева!

Куплю индикаторы ИТС-1А, ИТС-1Б, ИГВ1-8х5Л, ИГПС1-222/7, ИГПС1-111/7 и подобные.
слева!Куплю индикаторы ИТС-1А, ИТС-1Б, ИГВ1-8х5Л, ИГПС1-222/7, ИГПС1-111/7 и подобные.
- Сообщения: 39
- Зарегистрирован: Ср июн 08, 2011 11:32:49
Посмотрел, вроде всё правильно... Извините за наглость, но потребовался проект. Попробую скомпилировать.
Этот пост оказался полезен? Не поленись, нажми
слева!

Куплю индикаторы ИТС-1А, ИТС-1Б, ИГВ1-8х5Л, ИГПС1-222/7, ИГПС1-111/7 и подобные.
слева!Куплю индикаторы ИТС-1А, ИТС-1Б, ИГВ1-8х5Л, ИГПС1-222/7, ИГПС1-111/7 и подобные.
- Сообщения: 39
- Зарегистрирован: Ср июн 08, 2011 11:32:49
уф )))) все разрешилось методом научного тыка ))) я ассемблерную вставку просто перенес в самый верх программы
и заработало все. Спасибо вам *Trigger* за оперативность ответа и желание помочь не думал что кто то сразу откликаться на мой вопрос )еще раз спасибо!!!
и заработало все. Спасибо вам *Trigger* за оперативность ответа и желание помочь не думал что кто то сразу откликаться на мой вопрос )еще раз спасибо!!!
КОТЫ!! привет!!! возник вопрос, но поиск по теме ничего не находит, вот я его и задам... есть необходимость передавать в функцию массив по указателю. ДА!!! плевое дело!!! но с передачей строки. а вот с передачей двумерного массива по ссылке уже стало проблемой. пишет что Error: 2.c(68): function argument #1 of type 'unsigned char [10][8]' is incompatible with required parameter of type 'unsigned char *'. как сделать чтоб понял кодвижен. тут есть наверно отступление от стандартов, свойственных данной среде?
радиоэлектроника - жизнь моя...
Ну динамический массив описывается как указатель на блок указателей на блок элементов. В таком случае в функцию достаточно было бы вписать параметр . Здесь проблем никаких не будет.
Но у вас используется статический массив, который представляется как указатель на одномерный массив, а обращение к элементу осуществляется с помощью высчитывания смещения, учитывая заданные границы массива.
Отсюда вывод: обращаться к матрице так, как вы обращаетесь технически можно, но компилятор вам не даёт это сделать по этическим соображениям.
Например, можно так:
Или так:
Однако, здесь возникает проблема: А как, не зная размеры матрицы, высчитать смещение? Тогда придется передать функции ещё и размер матрицы и вручную вычислять смещение.
По этому в параметре функции, в общем случае, придётся объявлять опять же статический массив:
К слову, первое число в объявлении не обязательно, т.к. оно не участвует в формировании смещения:
Ну а далее по ситуации.
P.S. да, стати, по ссылке массив передавать, ну скажем так, не имеет смысла, т.к. сама конструкция массива уже подразумевает присутствие указателя на этот массив. По этому вычислять ещё один указатель (который будет указывать на указатель на массив) для передачи по ссылке...
Код: Выделить всё
unsigned char **XНо у вас используется статический массив, который представляется как указатель на одномерный массив, а обращение к элементу осуществляется с помощью высчитывания смещения, учитывая заданные границы массива.
Отсюда вывод: обращаться к матрице так, как вы обращаетесь технически можно, но компилятор вам не даёт это сделать по этическим соображениям.
Например, можно так:
Код: Выделить всё
char M[10][10];
void func(char *X)
{
}
int main()
{
func( (char *)M ):
return 0;
}Код: Выделить всё
char M[10][10];
void func(void *X)
{
}
int main()
{
func( M ):
return 0;
}По этому в параметре функции, в общем случае, придётся объявлять опять же статический массив:
Код: Выделить всё
char M[10][10];
void func(char X[10][10])
{
}
int main()
{
func( M ):
return 0;
}Код: Выделить всё
void func(char X[][10])
P.S. да, стати, по ссылке массив передавать, ну скажем так, не имеет смысла, т.к. сама конструкция массива уже подразумевает присутствие указателя на этот массив. По этому вычислять ещё один указатель (который будет указывать на указатель на массив) для передачи по ссылке...
IfoR, спасиб за вразумительное обьяснение!!! понял.
буду идти дальше. вот примонтировал карточку к контроллеру, перенес дисплей на програмный SPI, теперь думаю писать что-то вроде файлового менеджера. СПАСИБ ОГРОМНОЕ ЗА ПОМОЩЬ, IfoR, и всем остальным также, откликавшимся ранее!!!
радиоэлектроника - жизнь моя...
- Сообщения: 123
- Зарегистрирован: Сб ноя 18, 2006 17:14:15
Подскажите, плиз, а как копировать ворнинги и ошибки в буфер обмена?
Правой клавишей -> Copy.
Этот пост оказался полезен? Не поленись, нажми
слева!

Куплю индикаторы ИТС-1А, ИТС-1Б, ИГВ1-8х5Л, ИГПС1-222/7, ИГПС1-111/7 и подобные.
слева!Куплю индикаторы ИТС-1А, ИТС-1Б, ИГВ1-8х5Л, ИГПС1-222/7, ИГПС1-111/7 и подобные.
Надо снизе нажимать. В поле Messages.
Этот пост оказался полезен? Не поленись, нажми
слева!

Куплю индикаторы ИТС-1А, ИТС-1Б, ИГВ1-8х5Л, ИГПС1-222/7, ИГПС1-111/7 и подобные.
слева!Куплю индикаторы ИТС-1А, ИТС-1Б, ИГВ1-8х5Л, ИГПС1-222/7, ИГПС1-111/7 и подобные.



