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

 
 
> Неясности с работой порта, attiny25
vv_gulyaev
сообщение Oct 30 2009, 12:26
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 40
Регистрация: 15-10-08
Из: Воронеж
Пользователь №: 40 984



Использую МК ATtiny25. Частота работы 16 МГц. С порта PB3 вывожу импульс, который должен придти на порт PB2 этого же МК. Если разрешаю прерывание по входу INT0(PB2), то сигнал искажается (уменьшается частота). Можно ли как-нибудь предотвратить такое искажение?

Код
iint main(void){

    PORTB = 0xFC;//set default value of pins
        DDRB = 0xEB;//set direction of pins

//    GIMSK = 0x40;//external pin interrupt is enabled
    MCUCR = 0x02;//interrupt by falling edge
    sei();

    while(1){
        flag = 0;
        if (!flag){
            PORTB ^= 0x08;
            PORTB ^= 0x08;
        };
    };
};
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
vv_gulyaev
сообщение Oct 30 2009, 12:52
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 40
Регистрация: 15-10-08
Из: Воронеж
Пользователь №: 40 984



Цитата(mempfis_ @ Oct 30 2009, 15:43) *
А что вы в принципе хотите получить? Зачем нужна такая странная конструкция - вызов внешнего прерывания через дёргание своей-же ножки контроллера?


Собираюсь составить цепь из нескольких МК. Количество МК в цепи может менятьсь от 1 до 4. Соответственно, если имеем 2 и более МК, то вывод PB3 приходит на PB2 следующего МК, а если в цепи 1 МК, то на PB2 этого же. Как я подозреваю, если я выведу PB3 с одного МК на PB2 другого, то частота все равно уменьшится.
Обработчик прерывания не описывается. Добавление строки GIMSK = 0x40; вносит искажение в сигнал.

Сообщение отредактировал vv_gulyaev - Oct 30 2009, 12:53
Go to the top of the page
 
+Quote Post
mempfis_
сообщение Oct 30 2009, 12:57
Сообщение #3


Профессионал
*****

Группа: Свой
Сообщений: 1 001
Регистрация: 27-06-06
Пользователь №: 18 409



Цитата(vv_gulyaev @ Oct 30 2009, 16:52) *
Собираюсь составить цепь из нескольких МК. Количество МК в цепи может менятьсь от 1 до 4. Соответственно, если имеем 2 и более МК, то вывод PB3 приходит на PB2 следующего МК, а если в цепи 1 МК, то на PB2 этого же. Как я подозреваю, если я выведу PB3 с одного МК на PB2 другого, то частота все равно уменьшится.


Уменьшится только если вы закоротите ножки одного МК (постоянно) или если с другого МК будут приходить импульсы на вход внешенго прерывания (будет запаздывание на время обработки внешнего прерывания).

Вы так и не объяснили что вы хотите получить - если нужна генерация импульса с постоянным периодом поовторения то есть другие способы это сделать.
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 15:11
Рейтинг@Mail.ru


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