Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: PCW нестандартное использоваие RS232
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > MCS51, AVR, PIC, STM8, 8bit
Eddy71
Собственно весь вопрос в описании темы. Очень надо вкл/выкл сделать аппаратного UART. Просто глупейшая ситуация - пытаюсь отключить аппаратный UART в PIC16F887 но постоянно получаю не то, что хочется. Что-то мне не верится, что в компиляторе не предусмотрели функции при исполнении программы "на лету" включить или выключить модуль EUSART. Я уже через указатели пытался добраться до бита RCSTA,SPEN. Я конечно изгольнулся, вставил
Код
#asm
bcf 0x18,7
#endasm

Но как-то не красиво получается...
_Pasha
Компилятор-то какой? Это имеет значение вот почему: как описаны биты в SFR в хедере на проц - дефайнами или битовыми полями?
Сергей Борщ
Цитата(_Pasha @ May 28 2009, 17:41) *
Компилятор-то какой?
Компилятор указан в теме. До знакомства с ним я считал CodeVision эталоном "языка, похожего на С". Но это - просто шедевр. Как вам такое - в нем по умолчанию отключена чувствительность к регистру. То есть что printf, что PRINTF - ему все едино. Есть директива (которую надо вставить в исходник!), которая включает чувствительность. И тут нас ожидает сюрприз - в документации его встроенные функции приведены совсем не в том регистре, в котором он их понимает. И если бы они были только в нижнем или в верхнем... Какая-то дикая смесь из расширений от С++ (перегрузка функций) и отклонений от стандарта С.
Цитата(_Pasha @ May 28 2009, 17:41) *
Это имеет значение вот почему: как описаны биты в SFR в хедере на проц - дефайнами или битовыми полями?
Они там вообще не описаны! Там есть встроенные функции на все, как кажется авторам, случаи жизни. А вот если хочешь нормальный доступ к регистру - пиши что-то вроде
Код
#BYTE RCSTA     = 0x18
#define  SPEN 7
void test()
{
     RCSTA &= ~(1<<SPEN);
}

Для Eddy71 - это все описано в документации. Не поленитесь, прочтите. Там вас ждет еще много сюрпризов.
Eddy71
Я сперва пробежался по pdf-чикам за 2009-й, 2007-й, 2005-й и 2001-й годы. Они малость все отличаются, но нигде не нашел. Насчет СОМа там только "на лету" скорость поменять можно. Ладно, порт отключается, нет так нет...
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.