Страница 1 из 1

AVR+dial-up modem

Добавлено: Вт мар 18, 2014 21:30:47
akkinak
Приветствую!
а можно ATtiny2313 напрямую подключить по USART к диалап модему? или между ними нужно max232?

Re: AVR+dial-up modem

Добавлено: Вт мар 18, 2014 22:44:23
BCluster
можно выпилить модем на самом AVR :) Правда V23 только вроде.
Если внешний модем использовать, то через max232 и хз как :)

Re: AVR+dial-up modem

Добавлено: Чт мар 20, 2014 22:19:41
akkinak
собственно хочу подключить это к внешнему модему(без стабилитрона на 3,3В), с мобильным телефоном работало нормально. пробовал подключать через самодельный девайс пока ничего не выходит.

Re: AVR+dial-up modem

Добавлено: Пт мар 21, 2014 07:45:25
aleksandr-zh
можно
через преобразователь интерфейсов типа max232
подключили, выдаете на скорости 9600 или 11520 команду AT и 10,13
вам в ответ можем должен ответить OK

если нет - закоротить линии RTS и CTS
и перепробывать на разных скоростях

Re: AVR+dial-up modem

Добавлено: Пт мар 21, 2014 17:07:02
codenamehawk
akkinak писал(а):Приветствую!
а можно ATtiny2313 напрямую подключить по USART к диалап модему? или между ними нужно max232?
Если в модеме нет USART порта, то не напрямую не через max232 работать не будет.

Re: AVR+dial-up modem

Добавлено: Пт мар 21, 2014 21:40:39
akkinak
а, как узнать есть ли у внешнего диалап модема USART порт?

Re: AVR+dial-up modem

Добавлено: Сб мар 22, 2014 10:48:36
uk8amk
Хочу уточнить: такой старый модем, который на компорт вешается? У него есть UART.
Перед отсылкой команды может потребоваться DTR подергать.

Re: AVR+dial-up modem

Добавлено: Сб мар 22, 2014 21:14:49
akkinak
пробовал на ZyXEL Omni 56K MINI , про DTR тоже думал, подавал на вход 4(соm) модема 5В , 10В, без результатно. модем не снимает трубку.

Re: AVR+dial-up modem

Добавлено: Сб мар 22, 2014 22:16:19
uk8amk
И не снимет пока через компорт его не настроете.
ATA и еще помоему ATS0 можно.
Да, еще на каких-то совсем старых были дип-переключатели. Можно было аппаратно настроить на автоподнятие и др. действия.

DTR работает так:
1)установить DTR
2)пообщаться с устройством
3)отпустить DTR в самом конце. После этого модем не обязан на вас реагировать.

RTS-CTS перемкнуть если не используется аппаратное квитирование.

Re: AVR+dial-up modem

Добавлено: Вс мар 23, 2014 01:46:39
akkinak
устройство которое хочу подключить к модему работало по такому коду:
Спойлер

Код: Выделить всё

#include <avr/io.h>
#include <stdio.h>
#include <avr/delay.h>
int UBRR,UCR;
char str0[]="ATZ\r\n";
char str1[]="ATD123654;\r\n";
volatile unsigned char LOCK;
void USART_TX(char *s)
{
   while (*s)
   {
   while ( !( UCSRA & (1<<UDRE)));
   UDR = *s++;
   }
}   

int main (void)
{
    // Set baud rate
   UBRRH = 0;
   UBRRL = 12;
   UCSRA = (1<<U2X);
   // Enable receiver and transmitter
   UCSRB = (1<<RXEN) | (1<<TXEN);
   // Set frame format
   UCSRC = (1<<UCSZ1) | (1<<UCSZ0);
   //Set port B input
   DDRB=0x00;
   PORTB=0xFF;

    while (1)
    {
      if(!(PINB&(1<<PB0)))
     {
      if(LOCK==0)
      USART_TX("ATZ\r\n");
      USART_TX("ATD123654;\r\n");
      _delay_ms(3000);
      LOCK=1;
      }
      if(PINB&(1<<PB0))
      LOCK=0;           
    }
}

Re: AVR+dial-up modem

Добавлено: Вс мар 23, 2014 21:24:40
akkinak
uk8amk писал(а):И не снимет пока через компорт его не настроете.
ATA и еще помоему ATS0 можно.
я так понимаю нужно добавить в код:

Код: Выделить всё

char str0[]="ATZ\r\n";
char str1[]="ATA\r\n";
char str2[]="ATD123654;\r\n";
а, с DTR как?

Re: AVR+dial-up modem

Добавлено: Чт мар 27, 2014 22:03:56
akkinak
заработало, когда подключил выходы USART ATtiny2313 на выходы GD75323 модема: TxD-TxD, RxD-RxD, GND-GND.
только программу нужно подкоректирровать(в программировании не особо, может кто поможет). задача устройства- тупо набирать номер автоответчика, выдачей в модем по USARTу двух команд ATZ и ATD12345678 при подачи корпуса на пин В0, сначала модем набирает номер, затем ответ-отбой и сигнал "занято" в тел. линии, модем не реагирует на следующую команду ATZ ,а команда ATD12345678 проходит как бы в никуда. Модем освобождает тел. линию, после того как сам определит сигнал "занято", тогда набор номера идет нормально.может между ATZ и ATD12345678 установить задержку? а после того как устройство вывести из режима набора номера(снять корпус из пин В0) то модем "не вешает трубку", тоже не знаю как здесь.

Re: AVR+dial-up modem

Добавлено: Пт апр 11, 2014 23:31:43
akkinak
в общем работает устройство, вот решил перенести на ATmega8515(было ATtiny2313), но на ATmega8515 не работает, думаю что все дело в настройках USART

Код: Выделить всё

// Set baud rate
   UBRRH = 0;
   UBRRL = 12;
   UCSRA = (1<<U2X);
   // Enable receiver and transmitter
   UCSRB = (1<<RXEN) | (1<<TXEN);
   // Set frame format
   UCSRC = (1<<UCSZ1) | (1<<UCSZ0);
выяснил что регистр UBRRH размещается по тому самому адресу, что и регистр управления UCSRC. Как это отобразить в коде?

Re: AVR+dial-up modem

Добавлено: Сб апр 12, 2014 11:01:48
uk8amk
UBRRH размещается по тому самому адресу, что и регистр управления UCSRC. Как это отобразить в коде?
Accessing
UBRRH/UCSRC
Registers

When doing a write access of this I/O location, the high bit of the value written, the
USART Register Select (URSEL) bit, controls which one of the two registers that will be
written
. If URSEL is zero during a write operation, the UBRRH value will be updated. If
URSEL is one, the UCSRC setting will be updated.