Реклама на сайте DatasheetsDatasheets

KAZUS.RUN - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Книги и журналы
FAQ по электронике

  Datasheets
Поиск SMD
Онлайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Схемы и проекты
Принципиальные схемы
  Программы
Каталог сайтов
Калькуляторы
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы

Взаимодействие USART МК PIC16F877 и модема

Непрочитано 24.05.2008, 09:19  
Ksenia_85
Прохожий
 
Регистрация: 05.01.2008
Сообщений: 3
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
Ksenia_85 на пути к лучшему
По умолчанию Взаимодействие USART МК PIC16F877 и модема

Подскажите, как быть. Пытаюсь микроконтроллером через USART посылать AT-команды модему. Взаимодействует МК с модемом через RS-232, разъем DB25. Если подключить МК к компу, то через гипернал видно - команды отображаются корректно, с заданными интервалами. а модем не реагирует на эти команды. если подключаю модем к компу и посылаю те же команды гипертерминалом, то все работает. Модем Acorp-56emsf-2. Прошивка написана на С, компилятор HI-TECH PICC, писала в MPLAB IDE.
В архиве исходник.

Прикрепленный файл: 4360337.rar
Реклама:
Ksenia_85 вне форума  
Непрочитано 24.05.2008, 15:17  
urry
Почётный гражданин KAZUS.RUN
 
Аватар для urry
 
Регистрация: 06.02.2007
Сообщений: 1,340
Сказал спасибо: 3
Сказали Спасибо 107 раз(а) в 66 сообщении(ях)
urry на пути к лучшему
По умолчанию

Посмотрел - какое-то двойственное чувство - с одной стороны, вроде бы красиво написано, а с другой - Вы разрушаете контекст в прерывании, подставляя return в конце. Ничего этого не нужно, компилятор делает сам.
Код:
static void interrupt isr()
{
	if(T0IF == 1)
	{
		TMR0 = 206; //таймер 10 мкс 	
		T0IF = 0;
		TIME0++;
	//	return; не нужно
	}

	else if(TMR1IF == 1)
	{
		TMR1ON = 0;
		TMR1L = 0b00110000; //таймер 0.01 c
		TMR1H = 0b11001111;
		TMR1IF = 0;
		TMR1ON = 1;
		TIME1++;
        //	return; не нужно
	}
	
//	else return; не нужно
}
Советую помучить прогу в протеусе - через виртуальный ком-порт, обычно так делают.
urry вне форума  
Непрочитано 25.05.2008, 06:52  
Ksenia_85
Прохожий
 
Регистрация: 05.01.2008
Сообщений: 3
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
Ksenia_85 на пути к лучшему
По умолчанию

Убрала из кода return-ы, не помогло. Через гипертерминал работает все хорошо, и прием и передача, модем же вообще не отвечает на команды.
Обнаружила вот такую штуку: если тестером проверять TX и RX микроконтроллера (уже с учетом того, что сигналы переконвертированы микросхемой MAX232A), то на них держится -7,9 В и -9,3 В соответственно. А при подключении к модему на них держится -9,8 В и 0,04 В соответственно. Может поэтому и не хочет работать.
Ksenia_85 вне форума  
Непрочитано 25.05.2008, 11:11  
urry
Почётный гражданин KAZUS.RUN
 
Аватар для urry
 
Регистрация: 06.02.2007
Сообщений: 1,340
Сказал спасибо: 3
Сказали Спасибо 107 раз(а) в 66 сообщении(ях)
urry на пути к лучшему
По умолчанию

Смотрел Вашу схему на микрочипе - все включено правильно. Протеус даст ответ - из-за чего нет обмена.
ЗЫ. 22 года ? Судя по качеству Вашего кода, Вы не деффачко, а бородатый одмин. Я и себе оттуда пару вещей стянул...
urry вне форума  
Непрочитано 25.05.2008, 11:20  
Ksenia_85
Прохожий
 
Регистрация: 05.01.2008
Сообщений: 3
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
Ksenia_85 на пути к лучшему
По умолчанию

Спасибо за комплимент И за советы тоже. Проблему я решила. Просто устройство мое было настроено как DCE устройство, поэтому контачило с компом (DTE) и не желало с себе подобным, то бишь с DCE. Перепаяла Rx и Tx на разъеме контроллера и все заработало.
Ksenia_85 вне форума  
 
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Глюк работы модема US Robotics 56К ant_ Коллекция глюков 3 19.06.2009 08:10
Помогите принять строку по usart от АТ модема kasper37 Микроконтроллеры, АЦП, память и т.д 10 03.01.2009 16:21
подключение модема к SENAO sirak Автоматика и аппаратура связи 0 17.04.2008 01:32
Взаимодействие C# с COM-портом ArtUrl1986 Микроконтроллеры, АЦП, память и т.д 3 16.10.2007 01:52
PIC16F877 vasseff Коллекция глюков 0 07.08.2006 17:28


Часовой пояс GMT +4, время: 01:38.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.