CodeVision AVR в вопросах и ответах
- Apparatchik
- Держит паяльник хвостом
- Сообщения: 908
- Зарегистрирован: Вс май 23, 2010 13:55:42
- Откуда: Украина, Александрия
Re: CodeVision AVR в вопросах и ответах
Передавать нужно начиная с младшего бита. Регистры стоят 74HC595, судя по даташиту устанавливать данные, записывать в регистр и выводить информацию нужно по фронту если я правильно понял "LOW-to-HIGH transition". Вывод информации (третий вывод) нужно делать уже после записи всех битов тоесть в конце передачи.
«И всё-таки она вертится!»
- AI_Disable
- Сверлит текстолит когтями
- Сообщения: 1116
- Зарегистрирован: Чт окт 15, 2009 14:16:18
- Откуда: Екб
- Контактная информация:
Re: CodeVision AVR в вопросах и ответах
Apparatchik писал(а):...74HC595...
Что ж вы ерундой маялись, сразу бы сказали, о чём речь. Я то подумал, что тут что-то не стандартное. Вопрос: как вы собирались запихать в бедный 8-битный регистр 32 бита?
Функция для отправки на HC595 байта:
Код: Выделить всё
#define DATA 2
#define CLK 1
#define STROBE 0
DDRA|=(1<<DATA)|(1<<CLK)|(1<<STROBE);
void hc595(unsigned char tmp)
{
for(unsigned char i=0;i<8;i++)
{
if(tmp&0x80) PORTA|=1<<DATA;
else PORTA&=~(1<<DATA);
tmp<<=1;
PORTA|=1<<CLK;
PORTA&=~(1<<CLK);
}
PORTA|=1<<STROBE;
PORTA&=~(1<<STROBE);
}- Apparatchik
- Держит паяльник хвостом
- Сообщения: 908
- Зарегистрирован: Вс май 23, 2010 13:55:42
- Откуда: Украина, Александрия
Re: CodeVision AVR в вопросах и ответах
AI_Disable писал(а):Вопрос: как вы собирались запихать в бедный 8-битный регистр 32 бита?
У меня соединено четыре регистра последовательно. Спасибо за код буду разбиратся.
«И всё-таки она вертится!»
- Ardarik
- Вымогатель припоя
- Сообщения: 671
- Зарегистрирован: Пн май 18, 2009 16:26:10
- Откуда: Саранск
- Контактная информация:
Re: CodeVision AVR в вопросах и ответах
Какую версию скачать CodeVision AVR и с каким програматором она работает?
Хватит жить как получается- надо жить как хочется
- Apparatchik
- Держит паяльник хвостом
- Сообщения: 908
- Зарегистрирован: Вс май 23, 2010 13:55:42
- Откуда: Украина, Александрия
Re: CodeVision AVR в вопросах и ответах
Никак не выходит загнать данные в четыре регистра hc595. Вот написал код для пробы и не выходит:
Вместо двойки в третем разряде записывается четвёрка в четвёртый разряд, если писать еденицу в третий разряд то пишется восемь в четвёртый разряд. Что я делаю не так?
P.S. Загонять нужно начиная с младшего бита.
Код: Выделить всё
#include <mega16.h>
#include <delay.h>
char hc595[8]={0,0,2,0,0,0,0,0}; // например нужно записать два в третий разряд
interrupt [TIM1_COMPA] void timer1_compa_isr(void)
{
// Place your code here
char j,buf;
signed char i;
for (i=7;i>=0;i--)
{buf=hc595[i];
for (j=0;j<4;j++)
{if(buf&0b00000001) PORTA.2=1; //проверяем флаг сдвига, если установлен, в DATA пишем 1
else PORTA.2=0; //иначе пишем 0 в DATA
PORTA.1=1; //запись в регистр
PORTA.1=0;
buf=buf >> 1; // делаем логический сдвиг вправо
}
}
PORTA.0=1; //строб
PORTA.0=0;
}
Вместо двойки в третем разряде записывается четвёрка в четвёртый разряд, если писать еденицу в третий разряд то пишется восемь в четвёртый разряд. Что я делаю не так?
P.S. Загонять нужно начиная с младшего бита.
«И всё-таки она вертится!»
- AI_Disable
- Сверлит текстолит когтями
- Сообщения: 1116
- Зарегистрирован: Чт окт 15, 2009 14:16:18
- Откуда: Екб
- Контактная информация:
Re: CodeVision AVR в вопросах и ответах
Apparatchik, Приложите схему. Не совсем понятно как подключены реги...
- Apparatchik
- Держит паяльник хвостом
- Сообщения: 908
- Зарегистрирован: Вс май 23, 2010 13:55:42
- Откуда: Украина, Александрия
Re: CodeVision AVR в вопросах и ответах
AI_Disable писал(а):Apparatchik, Приложите схему. Не совсем понятно как подключены реги...
Вот
«И всё-таки она вертится!»
- Apparatchik
- Держит паяльник хвостом
- Сообщения: 908
- Зарегистрирован: Вс май 23, 2010 13:55:42
- Откуда: Украина, Александрия
Re: CodeVision AVR в вопросах и ответах
С разрядами разобрался немножко не так разпаял нужно поменять местами 1-2, 3-4, 5-6, 7-8 потом исправлю, но цыфры, которые выводятся в разряды всёравно неправильные.
«И всё-таки она вертится!»
- Apparatchik
- Держит паяльник хвостом
- Сообщения: 908
- Зарегистрирован: Вс май 23, 2010 13:55:42
- Откуда: Украина, Александрия
Re: CodeVision AVR в вопросах и ответах
Вопрос снят.
Исправил разряды а заодно и соединил так чтоб заганять начинать с старшего бита (благо выходы регистров на разёмах делал) подправил программу и всё заработало
Исправил разряды а заодно и соединил так чтоб заганять начинать с старшего бита (благо выходы регистров на разёмах делал) подправил программу и всё заработало
«И всё-таки она вертится!»
Re: CodeVision AVR в вопросах и ответах
есть переменная типа unsigned int
как получать доступ к ее отдельным битам ?
интересует проверка бита по номеру и установка значения бита в 0 или 1...
как получать доступ к ее отдельным битам ?
интересует проверка бита по номеру и установка значения бита в 0 или 1...
Помогите разобраться с CodeVisionAVR
Делаю проект считывание с датчика DS18B20 температуры микроконтроллером ATtiny2313 и вывод на LCD 16x2.
Код написал в CodeVisionAVR с помощью automatic program generator.
При компиляции выдает ошибку переполнения памяти контроллера.
Например, сдесь код писался в assembler AVR Studio http://radiokot.ru/circuit/digital/home/54/ так там и часы и календарь и термометр. Все влезло. А у меня даже температура не влазит.
В чем проблема? В automatic program generator?
Код написал в CodeVisionAVR с помощью automatic program generator.
При компиляции выдает ошибку переполнения памяти контроллера.
Например, сдесь код писался в assembler AVR Studio http://radiokot.ru/circuit/digital/home/54/ так там и часы и календарь и термометр. Все влезло. А у меня даже температура не влазит.
В чем проблема? В automatic program generator?
Re: CodeVision AVR в вопросах и ответах
Arduino 300 рублей писал(а):спринтф закоментил - влезла в память, но стэк мал.
используйте ATmega16 за 80 рублей ( так и в примере PROTEUS One Wire ) или "фиг найдешь" ATmega8.
Сдесь http://radiokot.ru/circuit/digital/home/54/ и часы и календарь и термометр. Все влезло. А у меня даже температура не влазит.
Я своего кода написал понты...
#include <delay.h>
#include <stdio.h> подключил стандартные ф-ции
char lcd_buffer[8]; объявил глобальную переменную
...
int term1, term2; объявил локальные перменные
...
term1=ds18b20_temperature(&ds1820_rom_codes[0][0]); //читаем температуру
term2=ds18b20_temperature(&ds1820_rom_codes[1][0]);
sprintf(lcd_buffer,"Ty=%-i\xdfC",term1);
lcd_clear();
lcd_puts(lcd_buffer);
sprintf(lcd_buffer,"Tk=%-i\xdfC",term2);
lcd_gotoxy(0,1);
lcd_puts(lcd_buffer);
собственно сам код... больше ничего
все остальное CodeVisionAVR automatic program generator
что получается свою программу вообще писать нельзя, что он сгенерировал то и оставлять
Скати, компилировал только генерированный код - пишет стек мал
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18544
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
Re: CodeVision AVR в вопросах и ответах
только свою программу и писать, не надеясь на всякие автоматические генераторыkokcuk писал(а):что получается свою программу вообще писать нельзя, что он сгенерировал то и оставлять
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
Re: CodeVision AVR в вопросах и ответах
ARV писал(а):только свою программу и писать, не надеясь на всякие автоматические генераторыkokcuk писал(а):что получается свою программу вообще писать нельзя, что он сгенерировал то и оставлять
Так CodeVisionAVR и понравился тем что есть генератор кода!
Жизнь сильно коротка, чтобы писать на асемблере
Re: CodeVision AVR в вопросах и ответах
Arduino 300 рублей писал(а):kokcuk писал(а):что получается свою программу вообще писать нельзя, что он сгенерировал то и оставлять![]()
Можно, если ответы читать и думать чуток о том что написано на обложке даташита.А надеясь на опыт как у ARV которого у вас нет и вряд ли когда будет.ARV писал(а): только свою программу и писать, не надеясь на всякие автоматические генераторы![]()
ARV всем советует - не слушайте советов !
бла-бла-бла
бла-бла-бла
А по делу слабо написать? А? Гений для удобрений...
- Apparatchik
- Держит паяльник хвостом
- Сообщения: 908
- Зарегистрирован: Вс май 23, 2010 13:55:42
- Откуда: Украина, Александрия
Re: CodeVision AVR в вопросах и ответах
Хочу к mega16 подключить ds1307 по I2C естественно. Как аппаратно управлять, может файл какой подключить короче с чего начать изучать I2C? Где можно примеры посмотреть с русскими коментами желательно?
«И всё-таки она вертится!»
- Apparatchik
- Держит паяльник хвостом
- Сообщения: 908
- Зарегистрирован: Вс май 23, 2010 13:55:42
- Откуда: Украина, Александрия
Re: CodeVision AVR в вопросах и ответах
В CodeVisionAVR в генераторе кода на вкладке I2C можно выбрать DS1307. Что там нужно выставлять и что это даст? Разясните плиз.
«И всё-таки она вертится!»
Re: CodeVision AVR в вопросах и ответах
Тут умные люди пишут, что генератором лучше не пользоваться. Надо свой код писать, а лучше в своей среде разработки, и компилировать своим компилятором. А CodeVisionAVR со своим генератором - кака. За что только деньги они берут, причем не малые.

- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18544
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
Re: CodeVision AVR в вопросах и ответах
ваша ирония понятна. она, видимо, зиждется на современной системе образования: я заплатил кому-то деньги, чтобы за меня сделали курсовик, сдали зачет/экзамен и т.д. - в итоге я "дипломированный специалист высокого класса" - но могу ли я сравниться по знаниям с теми, кто реально все это делал?!kokcuk писал(а):Тут умные люди пишут, что генератором лучше не пользоваться. Надо свой код писать, а лучше в своей среде разработки, и компилировать своим компилятором. А CodeVisionAVR со своим генератором - кака. За что только деньги они берут, причем не малые.![]()
так и производители CVAVR - берут деньги, чтобы плодились лентяи и недоучки, ведь на них затем можно стричь купоны и дальше, пожизненно.
человек, пробивающийся через тернии к знаниям, получает больше проблем, но и больше знаний. проблемы кончатся - а знания останутся.
писать программы и компилировать можно и в CVAVR - но от использования его Wizard-ов лучше отказаться по вышеназванным причинам. советы некоторых о том, что глядя на сгенерированный код можно чему-то научиться, я отметаю, как очередную блесну-замануху: ничему научиться нельзя, глядя на то, как этот самый "генератор" тупо обнуляет в начале main() все-все-все регистры и т.п., хотя после сброса МК все это уже 100% обнулено!!! научиться из этого можно только тупизне.
запомните одно: если кто-то впаривает вам что-то - это делается не от любви к вам, а исключительно из личной корысти. цепочка заинтересованности может быть длинной - но в ее истоке всегда корысть
удачи, визардофилы и кодвижнолюбы
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
Re: CodeVision AVR в вопросах и ответах
ARV писал(а):ваша ирония понятна. она, видимо, зиждется на современной системе образования: я заплатил кому-то деньги, чтобы за меня сделали курсовик, сдали зачет/экзамен и т.д. - в итоге я "дипломированный специалист высокого класса" - но могу ли я сравниться по знаниям с теми, кто реально все это делал?!kokcuk писал(а):Тут умные люди пишут, что генератором лучше не пользоваться. Надо свой код писать, а лучше в своей среде разработки, и компилировать своим компилятором. А CodeVisionAVR со своим генератором - кака. За что только деньги они берут, причем не малые.![]()
так и производители CVAVR - берут деньги, чтобы плодились лентяи и недоучки, ведь на них затем можно стричь купоны и дальше, пожизненно.
человек, пробивающийся через тернии к знаниям, получает больше проблем, но и больше знаний. проблемы кончатся - а знания останутся.
писать программы и компилировать можно и в CVAVR - но от использования его Wizard-ов лучше отказаться по вышеназванным причинам. советы некоторых о том, что глядя на сгенерированный код можно чему-то научиться, я отметаю, как очередную блесну-замануху: ничему научиться нельзя, глядя на то, как этот самый "генератор" тупо обнуляет в начале main() все-все-все регистры и т.п., хотя после сброса МК все это уже 100% обнулено!!! научиться из этого можно только тупизне.
запомните одно: если кто-то впаривает вам что-то - это делается не от любви к вам, а исключительно из личной корысти. цепочка заинтересованности может быть длинной - но в ее истоке всегда корысть![]()
удачи, визардофилы и кодвижнолюбы
согласен на 101%
но в тоже время, не нужно заново придумывать велосипед.