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

 
 
> Простецкий код на си подскажите где туплю, PIC на си
Vny4ek
сообщение Apr 20 2011, 16:48
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 145
Регистрация: 11-01-08
Пользователь №: 34 001



Подскажите пожалуйста начал разбираться с мплаб и HI-TECH
такой код простой, по переполнению таймера меняет состояние одной из ножек
и по нажатию кнопки (появлению там единицы) должен подать на RA3
проверяю в протеусе подцепил кнопку на RA0 подаю +5в туда но это событие не обрабатывается
а если в коде меняю параметр в условии на противоположном то условие выполняется (вывод на RA3 единицу и запрет прерывания)
вот сам код
Код
#include    <htc.h>

/*
*    Interrupt test for PIC
*
*    Copyright (C)1997 HI-TECH Software.
*    Freely distributable.
*/
#define BUTTON    RA0    //bit 1 of PORTC
static volatile long    count;
static volatile bit    bad_intr;

void
main(void)
{
    /* setup stuff */

    T0CS = 0;        // Timer increments on instruction clock
    TRISA = 0x01;        // Port A is input
    TRISB = 0xFE;        // Port B bit 0 is output
    T0IE = 1;        // Enable interrupt on TMR0 overflow
    GIE = 1;        // Global interrupt enable

        CLRWDT();    // Idly kick the dog


//RA3=1;
while(1){
if (BUTTON==1){RA3=1; GIE=0;};
};


}//End of main

static void interrupt
isr(void)            // Here be interrupt function - the name is
                // unimportant.
{
    if(!T0IF)        // Was this a timer overflow?
        bad_intr = 1;    // NO! Shock horror!
    count++;        // Add 1 to count - insert idle comment
    T0IF = 0;        // Clear interrupt flag, ready for next
    PORTB ^= 1;        // toggle bit 0 of Port B, to show we're alive
}

заранее спасибо

Сообщение отредактировал Vny4ek - Apr 20 2011, 16:52
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Vny4ek   Простецкий код на си подскажите где туплю   Apr 20 2011, 16:48
- - Vny4ek   Пипец 40 просмотров и 0 ответов Я понял в чем оши...   Apr 21 2011, 05:10
|- - xemul   Цитата(Vny4ek @ Apr 21 2011, 09:10) Пипец...   Apr 21 2011, 13:41
|- - ViKo   Цитата(xemul @ Apr 21 2011, 16:41) ... пр...   Apr 21 2011, 13:49
- - sargein   Во-первых, выключите аналоговые функции порта А Во...   Apr 21 2011, 06:31
- - Vny4ek   ну я пытаюсь проверить переполнился ли таймер (дот...   Apr 21 2011, 09:13
- - sargein   Цитата(ViKo @ Apr 21 2011, 16:49) Когда т...   Apr 21 2011, 13:59
- - ViKo   Там по проверке выполняется только bad_intr = 1; А...   Apr 21 2011, 14:07
- - sargein   а кстати по таймеру, тут нигде явно не задается ск...   Apr 21 2011, 14:20
- - Vny4ek   Извините, просто поставил MPLAB и попытался задей...   Apr 21 2011, 15:22
|- - xemul   Цитата(Vny4ek @ Apr 21 2011, 19:22) проц ...   Apr 21 2011, 16:06
- - Vny4ek   Ну то что имею по этому и взялся за этот проц CONF...   Apr 21 2011, 16:44
|- - xemul   Цитата(Vny4ek @ Apr 21 2011, 20:44) Забыл...   Apr 21 2011, 17:47
- - sargein   Смотреть в даташит пункт 3.1 PORTA and TRISA Reg...   Apr 21 2011, 17:10
- - Genius1   1. Обязательно предопределять фьюзы (CONFIG). 2. ...   Apr 23 2011, 17:07


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

 


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


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