реклама на сайте
подробности

 
 
> OKI-H5003 (ARM7), Вопрос по портам ввода вывода
xoen
сообщение May 3 2007, 07:35
Сообщение #1


Участник
*

Группа: Новичок
Сообщений: 15
Регистрация: 12-02-06
Пользователь №: 14 247



В общем проблема заключается в следующем: тупо нужно выставлять то низкий, то высокий уровень на 103 ноге микроконтроллера.

// на С
GPPOE_bit.GPPOE0 = 1;
GPPOE_bit.GPPOE0 = 0;
GPPOE_bit.GPPOE0 = 1;
GPPOE_bit.GPPOE0 = 0;
.........

// либо на асме после компиляции IAR-ом
GPPOE_bit.GPPOE0 = 1;
0000093C E59F0128 LDR R0, [PC, #+296] ; [0xA6C] =_A_GPPOE (0xB7A01080)
00000940 E1D010B0 LDRH R1, [R0, #+0]
00000944 E3811001 ORR R1, R1, #0x1
00000948 E1C010B0 STRH R1, [R0, #+0]
GPPOE_bit.GPPOE0 = 0;
0000094C E3A010FE MOV R1, #0xFE
00000950 E3811CFF ORR R1, R1, #0xFF00
00000954 E1D020B0 LDRH R2, [R0, #+0]
00000958 E0012002 AND R2, R1, R2
0000095C E1C020B0 STRH R2, [R0, #+0]
GPPOE_bit.GPPOE0 = 1;
00000960 E1D020B0 LDRH R2, [R0, #+0]
00000964 E3822001 ORR R2, R2, #0x1
00000968 E1C020B0 STRH R2, [R0, #+0]
GPPOE_bit.GPPOE0 = 0;
0000096C E1D020B0 LDRH R2, [R0, #+0]
00000970 E0012002 AND R2, R1, R2
00000974 E1C020B0 STRH R2, [R0, #+0]
.....

В итоге получается, что на каждый период приходится по 6-ть инструкций. Контроллер работает на частоте 60MHz, следовательно 6-ть инструкций должны выполнится за время (1/60*10^6)*6=10^(-7) секунд, т.е. 0,1 микросекунда или 10 МегаГерц. В итоге же, при запуске программы и подключения осцилографа к данному выводу, частота составляет 250 КГц (4 мксек). Не могу понять в чем причина. Может кто-нибудь знает, помогите пожалуйста разобраться.
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 28th July 2025 - 12:03
Рейтинг@Mail.ru


Страница сгенерированна за 0.01331 секунд с 7
ELECTRONIX ©2004-2016