ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Понедельник
25 ноября
226144 Топик полностью
ReAl (07.12.2010 11:10 - 11:15, просмотров: 168) ответил Vallav на Вы в чем меня хотите убедить?
Глазоньки раскройте и прочтите ещё раз словосочетание «такой простой цикл» (а не «любой машинный код»). Вам нравится спорить с выдуманным Вами же положением, потому, что для него у вас уже есть аргументы? Вас я ни в чём убедить не хочу. Тему на электрониксе про LPC читал. Я просто не хочу, чтобы Вы вот так вот «теоретически» убеждали всех — пусть и моё аргументированное реальынм кодом мнение полежит рядом. У меня существенная часть кода работы с выводами получается такой, какую я хотел, с первого написания. Но, конечно, с не-первого прочтения документации на контроллер. В случае кортекса - сам кортекс STM32. Как раз в субботу осциллографом убеждлся в том, что я правильно понял описание STM32F103, там и фзял кусок для модификации и показа результата. Заодно смотрел времена нарастания для PB1.Mode(OUTPUT), OUTPUT_10MHZ, OUTPUT_2MHZ Как написано в определении Pin<'B', 1> — порт 'B', вывод 1. Аналогично (поочерёдная запись в регистры SET и RESET для порта) будет для AT91SAM7 и, как я понял, AT91SAM9. В исходном собщении цикл while(1) так же устроен, только врукопашную - enum { WORKMASK = AT91C_PIO_PB0 }; // Битовая маска, определяет каким выводом управлять ... while(1) { AT91C_BASE_PIOB->PIO_SODR = WORKMASK; // Установка вывода в единицу AT91C_BASE_PIOB->PIO_CODR = WORKMASK; // Сброс вывода в ноль } Насколько я умею читать откомментированный код для незнакомого процессора - в PIO порт B в регистры SetOutputDataRegister/ClearOutputDataRegister поочерёдно пишется маска, соответствующая биту 0 порта. Кстати, глянул сейчас описание на столь знакомый Вам LPC17xx - так там то же самое, только названия регистров другие
FIOSET Fast Port Output Set register using FIOMASK. This register controls the state of output pins. Writing 1s produces highs at the corresponding port pins. Writing 0s has no effect. Reading this register returns the current contents of the port output register. Only bits enabled by 0 in FIOMASK can be altered. FIOCLR Fast Port Output Clear register using FIOMASK. This register WO controls the state of output pins. Writing 1s produces lows at the corresponding port pins. Writing 0s has no effect. Only bits enabled by 0 in FIOMASK can be altered.
Что Вам не понятно в такой работе с портами — не понимаю.