реклама на сайте
подробности

 
 
> sim300dz. Проблема с приемом данных на мк, USART&sim300dz
Aleksey N.
сообщение Aug 27 2010, 07:09
Сообщение #1





Группа: Новичок
Сообщений: 7
Регистрация: 27-08-10
Пользователь №: 59 132



С первой задачей, а именно взаимодействие sim300dz и RS232(комп), я отлично справился. Посылаю данные через терминал, модуль адекватно реагирует, отвечает и выполняет команды.
А вот с взаимодействием sim300dz и mega16 возникла проблема. Команды с контроллера успешно "доходят до жсм модуля" и выполняются (проверял, к примеру командой выключения AT+CPOWD=1 - модуль вырубается). Но на контроллер ответы приходят искаженные crying.gif .
Ответы с sim300dz вывожу на LCD на базе hd44780. Вместо "OK" выводится "cPU", а на команду "AT+CSMINS?" приходит ответ "PCMM", ну и т.д.
Причем это не наводки и не случайный мусор - ответы каждый раз одинаковые.
Совсем в ступоре, почему на комп приходят нормальные ответы, а на контроллер кракозябры. По первому впечатлению ошибка в программной части, но я ничего не смог исправить.

Очень надеюсь на вашу помощь.

Напряжение на max3232 - 2.8V, кондеры 0.1 мкф, подключение по даташиту.
Относительно mega16:
1) пробовал скорости обмена 9600, 115200 бод - ответы одинаковые и нечитаемые.
2) пробовал кварцы 4MHz и 7.3728Mhz - ответ на "AT" в первом случае был "b", во втором "cPU"
Фьюзы(avr studio): CKOPT установлен, SUT_CKSEL = "Ext. Crystal/Resonator High Freq.; Start-up time: 16K CK + 64 ms"

Далее привожу часть проги:
CODE

#define USART_BAUDRATE 9600
#define BAUD_PRESCALE ((F_CPU/(USART_BAUDRATE * 16UL)) - 1)

int main (void)
{
cli();

lcd_init(LCD_DISP_ON);
lcd_puts("!LCD Test");
_delay_ms(1000);
lcd_clrscr();

UCSRB |= (1 << RXEN) | (1 << TXEN); // Turn on the transmission and reception circuitry
UCSRC |= (1 << URSEL) | (1 << UCSZ0) | (1 << UCSZ1); // Use 8-bit character sizes

UBRRL = BAUD_PRESCALE; // Load lower 8-bits of the baud rate value into the low byte of the UBRR register
UBRRH = (BAUD_PRESCALE >> 8); // Load upper 8-bits of the baud rate value into the high byte of the UBRR register

UCSRB = ((1<<TXEN)|(1<<RXEN) | (1<<RXCIE)); // Enable receiver and transmitter and receive complete interrupt
sei(); // Enable the Global Interrupt Enable flag so that interrupts can be processed

USART_Transmit("AT\r\n");

lcd_puts("!z"); //debug message
_delay_ms(1000);

USART_Transmit("AT+CSMINS?\r\n");
lcd_puts("!z"); //debug message

for (;;) {}
}

ISR(USART_RXC_vect)
{
char ReceivedByte;
ReceivedByte = UDR; // Fetch the recieved byte value into the variable "ByteReceived"

lcd_putc(ReceivedByte);

/*if(ReceivedByte=='O'||ReceivedByte=='o')
lcd_puts("(o)");
if(ReceivedByte=='K'||ReceivedByte=='k')
lcd_puts("(k)"); - и это писал, т.к. даже в кодировке LCD засомневался*/
}


Сообщение отредактировал Aleksey N. - Aug 27 2010, 07:13
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Aleksey N.   sim300dz. Проблема с приемом данных на мк   Aug 27 2010, 07:09
- - CADiLO   А мега что, тоже через MAX3232 подключена ? Как В...   Aug 27 2010, 07:28
|- - Aleksey N.   Цитата(CADiLO @ Aug 27 2010, 13:28) А мег...   Aug 27 2010, 10:52
- - kovz   1. "AT\r\n" - в командах отсыл...   Aug 27 2010, 07:58
|- - Aleksey N.   Цитата(kovz @ Aug 27 2010, 13:58) 1. ...   Aug 27 2010, 10:57
- - Slonofil   Ай-ай-ай, надо же документацию читать внимательно...   Aug 27 2010, 10:53
|- - Aleksey N.   Цитата(Slonofil @ Aug 27 2010, 16:53) Ай-...   Aug 27 2010, 11:13
- - CADiLO   Да уж - выход макса который может быть до 12 вольт...   Aug 27 2010, 10:59
- - kovz   у max3232 нижний предел напряжений ниже.   Aug 27 2010, 11:37
- - Slonofil   В принципе, подавая на МЕГУ напряжение с выхода МА...   Aug 27 2010, 11:45
- - CADiLO   Добавлю что дело даже не в повышеном напряжении. Н...   Aug 27 2010, 12:09
|- - Mitsufan   Вопрос к CADiLO. Так можно ли подключаться к SIM3...   Aug 27 2010, 16:23
|- - Aleksey N.   1. Цитата(CADiLO @ Aug 27 2010, 18:09) До...   Aug 28 2010, 09:24
- - Aleksey N.   Спасибо всем за помощь, буду разбираться...   Aug 27 2010, 12:26
- - uzz   Почитайте рекомендации в семинарах: SIM300 semina...   Aug 27 2010, 20:20
- - Aleksey N.   Хотел было ехать за буферами К155ЛП9 (хотел сделат...   Aug 29 2010, 14:57
- - CADiLO   >>>Модем имеет входные-выходные уровни в ...   Aug 30 2010, 06:20
- - ArtemKAD   ЦитатаМалейшее превышение и..... ... через резисто...   Aug 30 2010, 07:36
- - Slonofil   На самом деле, это не описка. Это изложение принци...   Aug 30 2010, 07:43
- - CADiLO   Согласен - я выбрал неудачное слово. Просто Вы дал...   Aug 30 2010, 08:32
|- - rx3apf   Цитата(CADiLO @ Aug 30 2010, 12:32) то на...   Aug 30 2010, 09:07
- - Slonofil   Кстати, поскольку работаю с PIC от Microchip, хоте...   Aug 30 2010, 08:41
- - Prizrac   Я думаю если питание м.к. будет 4в и модуля тоже п...   Aug 30 2010, 10:33
|- - Slonofil   Цитата(Prizrac @ Aug 30 2010, 14:33) Я ду...   Aug 30 2010, 10:37
- - Prizrac   <Это из разряда "Вредные советы" Ска...   Aug 30 2010, 10:48
- - Slonofil   Просто нужно ВНИМАТЕЛЬНО читать документацию на мо...   Aug 30 2010, 11:12
- - Prizrac   Там 3,2 + 0,7 а не 3 ...? насколько я помню.   Aug 30 2010, 11:22
- - CADiLO   Плохо помним - там абсолютное максимальное значени...   Aug 30 2010, 11:40
- - Slonofil   Вот Вам выдержки из Hardware Design и семинара. Па...   Aug 30 2010, 11:41
- - ArtemKAD   Цитатаэто 3 года назат было ненайдете но работало ...   Aug 30 2010, 11:59
- - Prizrac   да уже прасматриваю, а за дезинфармацию извиняюсь....   Aug 30 2010, 12:37
- - CADiLO   На 90% вышесказаное относится и к SIM900. Естеств...   Aug 31 2010, 06:29
- - Prizrac   я прасматрел дествительно я не так помнил у меня н...   Sep 1 2010, 04:26


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th July 2025 - 04:49
Рейтинг@Mail.ru


Страница сгенерированна за 0.01344 секунд с 7
ELECTRONIX ©2004-2016