Страница 81 из 421
Re: CodeVision AVR в вопросах и ответах
Добавлено: Сб июн 26, 2010 10:42:02
Apparatchik
Передавать нужно начиная с младшего бита. Регистры стоят 74HC595, судя по даташиту устанавливать данные, записывать в регистр и выводить информацию нужно по фронту если я правильно понял "LOW-to-HIGH transition". Вывод информации (третий вывод) нужно делать уже после записи всех битов тоесть в конце передачи.
Re: CodeVision AVR в вопросах и ответах
Добавлено: Сб июн 26, 2010 11:00:03
AI_Disable
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);
}
Re: CodeVision AVR в вопросах и ответах
Добавлено: Сб июн 26, 2010 11:11:32
Apparatchik
AI_Disable писал(а):Вопрос: как вы собирались запихать в бедный 8-битный регистр 32 бита?
У меня соединено четыре регистра последовательно. Спасибо за код буду разбиратся.
Re: CodeVision AVR в вопросах и ответах
Добавлено: Сб июн 26, 2010 11:57:53
Ardarik
Какую версию скачать CodeVision AVR и с каким програматором она работает?
Re: CodeVision AVR в вопросах и ответах
Добавлено: Сб июн 26, 2010 21:44:05
Apparatchik
Никак не выходит загнать данные в четыре регистра hc595. Вот написал код для пробы и не выходит:
Код: Выделить всё
#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. Загонять нужно начиная с младшего бита.
Re: CodeVision AVR в вопросах и ответах
Добавлено: Сб июн 26, 2010 22:37:28
AI_Disable
Apparatchik, Приложите схему. Не совсем понятно как подключены реги...
Re: CodeVision AVR в вопросах и ответах
Добавлено: Сб июн 26, 2010 23:04:00
Apparatchik
AI_Disable писал(а):Apparatchik, Приложите схему. Не совсем понятно как подключены реги...
Вот
Re: CodeVision AVR в вопросах и ответах
Добавлено: Вс июн 27, 2010 00:32:41
Apparatchik
С разрядами разобрался немножко не так разпаял нужно поменять местами 1-2, 3-4, 5-6, 7-8 потом исправлю, но цыфры, которые выводятся в разряды всёравно неправильные.
Re: CodeVision AVR в вопросах и ответах
Добавлено: Вс июн 27, 2010 01:11:46
Apparatchik
Вопрос снят.
Исправил разряды а заодно и соединил так чтоб заганять начинать с старшего бита (благо выходы регистров на разёмах делал) подправил программу и всё заработало

Re: CodeVision AVR в вопросах и ответах
Добавлено: Пн июн 28, 2010 16:13:48
ВитГо
есть переменная типа unsigned int
как получать доступ к ее отдельным битам ?
интересует проверка бита по номеру и установка значения бита в 0 или 1...
Помогите разобраться с CodeVisionAVR
Добавлено: Пн июн 28, 2010 16:50:24
kokcuk
Делаю проект считывание с датчика DS18B20 температуры микроконтроллером ATtiny2313 и вывод на LCD 16x2.
Код написал в CodeVisionAVR с помощью automatic program generator.
- tiny2313.rar
- Программа в CodeVsion
- (72.74 КБ) 282 скачивания
При компиляции выдает ошибку переполнения памяти контроллера.
Например, сдесь код писался в assembler AVR Studio
http://radiokot.ru/circuit/digital/home/54/ так там и часы и календарь и термометр. Все влезло. А у меня даже температура не влазит.
В чем проблема? В automatic program generator?
Re: CodeVision AVR в вопросах и ответах
Добавлено: Пн июн 28, 2010 17:10:12
kokcuk
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
что получается свою программу вообще писать нельзя, что он сгенерировал то и оставлять
Скати, компилировал только генерированный код - пишет стек мал

Re: CodeVision AVR в вопросах и ответах
Добавлено: Пн июн 28, 2010 17:54:57
ARV
kokcuk писал(а):что получается свою программу вообще писать нельзя, что он сгенерировал то и оставлять

только свою программу и писать, не надеясь на всякие автоматические генераторы

Re: CodeVision AVR в вопросах и ответах
Добавлено: Пн июн 28, 2010 18:12:26
kokcuk
ARV писал(а):kokcuk писал(а):что получается свою программу вообще писать нельзя, что он сгенерировал то и оставлять

только свою программу и писать, не надеясь на всякие автоматические генераторы

Так CodeVisionAVR и понравился тем что есть генератор кода!
Жизнь сильно коротка, чтобы писать на асемблере

Re: CodeVision AVR в вопросах и ответах
Добавлено: Пн июн 28, 2010 19:03:10
kokcuk
Arduino 300 рублей писал(а):kokcuk писал(а):что получается свою программу вообще писать нельзя, что он сгенерировал то и оставлять
Можно, если ответы читать и думать чуток о том что написано на обложке даташита.
ARV писал(а): только свою программу и писать, не надеясь на всякие автоматические генераторы
А надеясь на опыт как у
ARV которого у вас нет и вряд ли когда будет.
ARV всем советует -
не слушайте советов !
бла-бла-бла
бла-бла-бла
А по делу слабо написать? А? Гений для удобрений...
Re: CodeVision AVR в вопросах и ответах
Добавлено: Пн июн 28, 2010 21:07:16
Apparatchik
Хочу к mega16 подключить ds1307 по I2C естественно. Как аппаратно управлять, может файл какой подключить короче с чего начать изучать I2C? Где можно примеры посмотреть с русскими коментами желательно?
Re: CodeVision AVR в вопросах и ответах
Добавлено: Вт июн 29, 2010 00:03:55
Apparatchik
В CodeVisionAVR в генераторе кода на вкладке I2C можно выбрать DS1307. Что там нужно выставлять и что это даст? Разясните плиз.
Re: CodeVision AVR в вопросах и ответах
Добавлено: Вт июн 29, 2010 10:48:51
kokcuk
Тут умные люди пишут, что генератором лучше не пользоваться. Надо свой код писать, а лучше в своей среде разработки, и компилировать своим компилятором. А CodeVisionAVR со своим генератором - кака. За что только деньги они берут, причем не малые.

Re: CodeVision AVR в вопросах и ответах
Добавлено: Вт июн 29, 2010 11:38:21
ARV
kokcuk писал(а):Тут умные люди пишут, что генератором лучше не пользоваться. Надо свой код писать, а лучше в своей среде разработки, и компилировать своим компилятором. А CodeVisionAVR со своим генератором - кака. За что только деньги они берут, причем не малые.

ваша ирония понятна. она, видимо, зиждется на современной системе образования: я заплатил кому-то деньги, чтобы за меня сделали курсовик, сдали зачет/экзамен и т.д. - в итоге я "дипломированный специалист высокого класса" - но могу ли я сравниться по знаниям с теми, кто реально все это делал?!
так и производители CVAVR - берут деньги, чтобы плодились лентяи и недоучки, ведь на них затем можно стричь купоны и дальше, пожизненно.
человек, пробивающийся через тернии к знаниям, получает больше проблем, но и больше знаний. проблемы кончатся - а знания останутся.
писать программы и компилировать можно и в CVAVR - но от использования его Wizard-ов лучше отказаться по вышеназванным причинам. советы
некоторых о том, что глядя на сгенерированный код можно чему-то научиться, я отметаю, как очередную блесну-замануху: ничему научиться нельзя, глядя на то, как этот самый "генератор" тупо обнуляет в начале
main() все-все-все регистры и т.п., хотя после сброса МК все это уже 100% обнулено!!! научиться из этого можно только тупизне.
запомните одно: если кто-то впаривает вам что-то - это делается не от любви к вам, а исключительно из личной корысти. цепочка заинтересованности может быть длинной - но в ее истоке всегда корысть
удачи, визардофилы и кодвижнолюбы

Re: CodeVision AVR в вопросах и ответах
Добавлено: Вт июн 29, 2010 11:57:05
kokcuk
ARV писал(а):kokcuk писал(а):Тут умные люди пишут, что генератором лучше не пользоваться. Надо свой код писать, а лучше в своей среде разработки, и компилировать своим компилятором. А CodeVisionAVR со своим генератором - кака. За что только деньги они берут, причем не малые.

ваша ирония понятна. она, видимо, зиждется на современной системе образования: я заплатил кому-то деньги, чтобы за меня сделали курсовик, сдали зачет/экзамен и т.д. - в итоге я "дипломированный специалист высокого класса" - но могу ли я сравниться по знаниям с теми, кто реально все это делал?!
так и производители CVAVR - берут деньги, чтобы плодились лентяи и недоучки, ведь на них затем можно стричь купоны и дальше, пожизненно.
человек, пробивающийся через тернии к знаниям, получает больше проблем, но и больше знаний. проблемы кончатся - а знания останутся.
писать программы и компилировать можно и в CVAVR - но от использования его Wizard-ов лучше отказаться по вышеназванным причинам. советы
некоторых о том, что глядя на сгенерированный код можно чему-то научиться, я отметаю, как очередную блесну-замануху: ничему научиться нельзя, глядя на то, как этот самый "генератор" тупо обнуляет в начале
main() все-все-все регистры и т.п., хотя после сброса МК все это уже 100% обнулено!!! научиться из этого можно только тупизне.
запомните одно: если кто-то впаривает вам что-то - это делается не от любви к вам, а исключительно из личной корысти. цепочка заинтересованности может быть длинной - но в ее истоке всегда корысть
удачи, визардофилы и кодвижнолюбы

согласен на 101%
но в тоже время, не нужно заново придумывать велосипед.
