theBMV 0 4 октября, 2012 Опубликовано 4 октября, 2012 · Жалоба Это из серии вредных советов? ;) Нет, это из серии "понятия не имею о познаниях ТС". Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mbzyab 0 4 октября, 2012 Опубликовано 4 октября, 2012 · Жалоба Вот этот регистр уже отражает именно внутреннее состояние порта (состояние выходного драйвера) на вывод. Таким образом ваш код должен был иметь вид: FIOPIN = FIOSET ^ MY_MASK; Таким образом не будет никакой "аналоговой" обратной связи по физическому уровню на пине порта. P.S. В начале работы с LPC сам столкнулся с такой фичей. Это побудило просто внимательно перечитать документацию. После прочтения становится всё очевидно. Видимо я как-то неверно понял документацию или читал невнимательно. Спасибо вам большое! Самая простая и тупая доработка: Собственно, я в первом посте писал, что в начале так и было и тоже не очень стабильно работало :) Предлагаю Вам для начала посмотреть, правильно ли происходит процедура инициализации частот ядра и т.п. Выложите сюда. Если не поможет, предлагаю попробовать отключить акселератор FLASH памяти (FLASHCFG_bit.FLASHTIM) Если и это не поможет, посмотрите настройки компилятора. Какой компилятор? Какие настройки оптимизации? Попробуйте полностью отключить оптимизацию. У меня при включенной оптимизации компилятор выдавал те ещё конструкции! Вот после такого у меня ничего не работало! Собственно, частоту ядра я выводил на ногу и осциллографом проверял, вроде все правильно было. С акселератором тоже игрался (его, вроде как, вообще отключить нельзя) - на любых настройках поведение было одинаковым. Оптимизация -O0, компилятор кейловский. Но я таки полагаю, что Petka прав. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
esaulenka 5 4 октября, 2012 Опубликовано 4 октября, 2012 · Жалоба У меня при включенной оптимизации компилятор выдавал те ещё конструкции! Вот после такого у меня ничего не работало! Нет, это из серии "понятия не имею о познаниях ТС". Тут уже пошла серия совсем не про топикстартера. Это серия про шаманские танцы. Собственно, я в первом посте писал, что в начале так и было и тоже не очень стабильно работало :) Странно это. Либо было не так, либо я чего-то не понимаю. С основной проблемой - чтение регистра пина сразу после записи мой вариант успешно справляется. Ну да, неоптимально, с потенциальными граблями при многопоточности, но работать должно. Но я таки полагаю, что Petka прав. С этим полностью согласен. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться