Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
21.09.2008, 13:30
|
|
Частый гость
Регистрация: 25.01.2005
Сообщений: 39
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
p30f6010A проблема с переключением состояния портов
есть такая проблема с p30f6010A:
при подаче на выходы единицы некоторые из ножек переключаются а некоторые нет, причем в пошаговом режиме переключаются все, в рабочем не все, и всегда одни и те же.
Проблема решилась двухкратной коммандой переключения (две одинаковые подряд идущие инструкции).
Нагрузка на ножках одинаковая (к примеру порт на LCD), без емкостей и т.д.
Частота кристалла на максимуме или около...
Может я чего не дочитал даташите...
Вообщем, для надежности все инструкции работающие с ногами продублировал.
Есть ли комментарии...
|
|
|
|
21.09.2008, 13:49
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.05.2006
Адрес: Москва
Сообщений: 3,559
Сказал спасибо: 76
Сказали Спасибо 326 раз(а) в 230 сообщении(ях)
|
Может чтение-модификация-запись была ? Тогда ВРОДЕ пауза желательна перед записью нового значения.
Посмотрите примеры кода в апноутах к такому МК.
__________________
Обучалка AVR PIC ARM начинающим программирование курс самоучитель шаг за шагом с нуля, CVAVR, PROTEUS, MPLAB, WinAVR, IAR, KEIL электроника - http://proavr.narod.ru
|
|
|
|
21.09.2008, 14:10
|
|
Частый гость
Регистрация: 25.01.2005
Сообщений: 39
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
нет
|
|
|
|
21.09.2008, 14:18
|
|
Частый гость
Регистрация: 25.01.2005
Сообщений: 39
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
вот кусок кода с двойными командами...
#define LCD_RES _RE3
#define LCD_RDRW _RB15
#define LCD_E _RE6
#define LCD_E1 _RE5
#define LCD_E2 _RE4
#define LCD_A0 _RB14
#define LCD_Ready _RF1
/*function**********************************перевод контроллеров дисплея в режим опроса готовности*************************/
void LCDReadStatus ()
{
LCD_E = 0;
for (Cicle=0; Cicle‹=DelayLCD; ++Cicle) {__builtin_nop();}
SetLCDPortInMode ();
LCD_A0 = 0;
LCD_A0 = 0;
LCD_E2 = 0;
LCD_E2 = 0;
LCD_RDRW = 1;
LCD_RDRW = 1;
LCD_E1 = 1;
LCD_E1 = 1;
for (Cicle=0; Cicle‹=DelayLCD; ++Cicle) {__builtin_nop();}
LCD_E = 1;
LCD_E = 1;
while (LCD_Ready) {__builtin_nop();}
LCD_E = 0;
LCD_E = 0;
return;
}
|
|
|
|
21.09.2008, 15:17
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.05.2006
Адрес: Москва
Сообщений: 3,559
Сказал спасибо: 76
Сказали Спасибо 326 раз(а) в 230 сообщении(ях)
|
Дак надо смотреть какой АСМ компиоер лепит ! и с ДШ сверяться.
__________________
Обучалка AVR PIC ARM начинающим программирование курс самоучитель шаг за шагом с нуля, CVAVR, PROTEUS, MPLAB, WinAVR, IAR, KEIL электроника - http://proavr.narod.ru
|
|
|
|
21.09.2008, 19:18
|
|
Гражданин KAZUS.RU
Регистрация: 17.07.2006
Адрес: PV.DP.UA
Сообщений: 620
Сказал спасибо: 3
Сказали Спасибо 60 раз(а) в 48 сообщении(ях)
|
Блин, для кого регистры LATx сделали? Пишем в LATx, читаем PORTx.Вопрос многократно пережеванный на многих форумах.
__________________
Если ты читаешь это - значит тебе нечем заняться...
|
|
|
|
22.09.2008, 02:45
|
|
Частый гость
Регистрация: 25.01.2005
Сообщений: 39
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
в LAT таже ботва...
хотя проверю еще раз... тщательнее...
|
|
|
|
22.09.2008, 02:46
|
|
Частый гость
Регистрация: 25.01.2005
Сообщений: 39
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
а вот асмовский код не проверял... надо посмотреть будет...
|
|
|
|
22.09.2008, 09:14
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.05.2006
Адрес: Москва
Сообщений: 3,559
Сказал спасибо: 76
Сказали Спасибо 326 раз(а) в 230 сообщении(ях)
|
Возьми пример из доки или апноутов и проверь.
__________________
Обучалка AVR PIC ARM начинающим программирование курс самоучитель шаг за шагом с нуля, CVAVR, PROTEUS, MPLAB, WinAVR, IAR, KEIL электроника - http://proavr.narod.ru
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Тема |
Автор |
Раздел |
Ответов |
Последнее сообщение |
ATmega16, проверка состояния
|
Lockdog |
Микроконтроллеры, АЦП, память и т.д |
2 |
20.04.2009 11:04 |
Инициализация портов
|
tuart |
Микроконтроллеры, АЦП, память и т.д |
4 |
15.04.2007 19:44 |
Подскажите схему индикатора логического состояния com порта
|
serjios |
Микроконтроллеры, АЦП, память и т.д |
16 |
23.03.2007 15:33 |
Отличие портов А от B (PIC16F628A)
|
retas |
Микроконтроллеры, АЦП, память и т.д |
5 |
14.02.2007 23:04 |
Шим и несколько портов
|
dosikus |
Микроконтроллеры, АЦП, память и т.д |
0 |
15.04.2006 11:51 |
Часовой пояс GMT +4, время: 18:04.
|
|