Страница 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.