Jump to content

    

syslog

Участник*
  • Content Count

    25
  • Joined

  • Last visited

Community Reputation

0 Обычный

About syslog

  • Rank
    Участник

Контакты

  • Сайт
    Array
  • ICQ
    Array

Информация

  • Город
    Array
  1. Ну а диагноз какой ? Модуль глючит ? Какие есть мысли ?
  2. Call Ready AT+CREG? +CREG: 0,2 OK Что это за двойка такая ? В чем проблема в железе или настройках?
  3. atd89185282548; NO DIALTONE at+creg? +CREG: 1,0 AT+CSQ +CSQ: 25,7 OK В чем причина ? почему нет сигнала в линии ?
  4. Подскажите пожалуйста последовательность запуска SIM300DZ. Посылаю: AT+STRT=200 AT+CMGF=1 AT+CMEE=2 AT+STPD=5,1F7FFF7F7F AT+CREG=1 выдает все ОК пытаюсь сделать звонок ATD8918XXXXXXX а в ответ NO DIALTONE
  5. Прошу прощения за путаницу. В коде действительно таймер 3 (просто первоначально делал на 1ом, а когда встретил глюк, попробовал сделать тоже самое на 3ем). Хотел отладить на АВР студии и нашел прикол с адресацией регистров (см. картинки выше). Пожалуйста, если у кого-нибудь стоит АВР студия 4 создайте подобный проект на 128 мегу и посмотрите на адреса регистров. Может в 16 битных таймерах идет заполнение регистров через буфер ? defunct - спасибо за код, сейчас попробую.
  6. Написал следующий код. При пошаговом прохождении в AVR studia 4 значения загружаются совершенно не в те регистры. Пдскажите пожалуйста, может у кого есть кусочек кода как на 128 меге настроить таймер 1 на срабатывание прерываения COMPA и COMPB при этом при срабатывании COMPB сбрасывать таймер счетчик в 0. #include <avr/io.h> #include <avr/interrupt.h> ISR(TIMER3_COMPA_vect) { PORTF = 0x01; } ISR(TIMER3_COMPB_vect) { PORTF = 0x03; } int main (void) { unsigned char sreg; DDRF = 0xff; PORTF = 0x00; OCR3AH=0x05; OCR3AL=0x03; TCCR3A=0xA0; TCCR3B=0x02; // Timer(s)/Counter(s) Interrupt(s) initialization TIMSK=0x18; ETIMSK=0x00; sei(); while (1) { } return 0; }
  7. http://ru.youtube.com/watch?v=z-qnjBpYMYU
  8. У меня подобный глюк наблюдался при переходе с WinAVR 2006 на 2007. Вот последнй рабочий код #include <avr/io.h> #include <avr/interrupt.h> #include <avr/eeprom.h> ... eeprom_busy_wait(); eeprom_write_byte(&write_addrr, tmp); write_counter++; ... ... eeprom_busy_wait(); tmp=eeprom_read_byte(&read_addr); ...
  9. Подведем черту ! ____________________ Проект аля "программирование ради программирования", однако автор молодец.
  10. Тему можно закрывать. Подружить удалось через c8051f320. Рядышком в форуме было обсуждение: http://electronix.ru/forum/uploads/post-38...90347_thumb.jpg http://electronix.ru/forum/index.php?showt...5954&st=30# Всем спасибо :yeah:
  11. Подскажите как правильно подключить программатор EC2 к cc2511 Распиновка разъема на плате передатчика: Pin Function 1 Gnd 2 VDD 3 Debug Clock(DC) 4 Debug Data(DD) 5 CSn(optional) 6 SCLK(optional) 7 Reset_N 8 MOSI(optional) 9 3.3V VDD, alt. NC 10 MISO Распиновка EC2: 1 Vcc 2 GND 3 GND 4 TCK 5 TMS 6 DO 7 DI 8 n/a 9 GND 10 n/a С питанием понятно, а вот что косается сигналов ?
  12. Вау ! Несомненно парень зажег.... Вопрос - на кой это все нужно ? Где практический выход проекта (на такую графику и звук уже никого не купишь)?
  13. Сергей Борщ - Спасибо за анализ .... Опять таки вопрос оптимизации... А спрашивали "как организовать битовый массив" а не "как оптимально написать код" =)
  14. Главное это идея, а как реализовать это дело вкуса =) Хорошо было бы сравнить полученный ассемблерный код, да и вопрос нельзя решить однозначно, все зависит от задачи. unsigned char buffer[(BUFFER_BIT_SIZE + 7)/8];//всегда выделяет столько, сколько нужно хорошая мысль .... b = value >> 3; i = value & 0x7; Опять же, кто-нибудь сравнивал ассемблерный код ?
  15. Доброго времени суток! Вот Вам, мой вариант: #define BUFFER_BIT_SIZE 32 unsigned char buffer[bUFFER_BIT_SIZE/8+1]; // +1 для запаса. Если буфер кратен 8 то не нужно void set_bit_buffer (unsigned char value) { unsigned char b,i; b = value/8; i = value%8; buffer |= (0x80 >> i); } unsigned char get_bit_buffer (unsigned char value) { unsigned char b,i; b = value/8; i = value%8; b = buffer; b <<= i; b &= 0x80; return b; // Если бит = "1" возвращаем 0x80; } Такой вариант будет экономить память, но нагружать АЛУ (соответсвенно - потери в скорости).