Форум Микро-Чип
Поиск и заказ электронных компонентов
 

Вернуться   Форум Микро-Чип > Вопросы начинающих

Вопросы начинающих Прежде чем задать вопрос, стоит воспользоваться поиском

Ответ
 
Опции темы Опции просмотра
Старый 18.07.2017, 15:16   #1
Mysteo
Junior Member
 
Регистрация: 15.06.2017
Возраст: 26
Сообщений: 23
Вес репутации: 100/3
Mysteo will become famous soon enoughMysteo will become famous soon enough
По умолчанию PIC18F4520 цифровой вход RE0

Здравствуйте! Раньше у меня был проект на HI-Tech STD компиляторе и проблем с данным портом не было. А вот на XC компиляторе у меня не получается настроить порт на цифру.

Выставил
TRISE0 = 1 ;
ADCON1 = 0x0A; //

Далее по ходу программы когда считываю RE0 все время МК видит там 0 , хотя там 1 висит, начал рыть даташит

On a Power-on Reset, RE2:RE0 are
configured as analog inputs.

Но с той же схемотехникой и программой на HITECH все ок было, как исправить это дело?

Последний раз редактировалось Mysteo; 18.07.2017 в 15:26.
Mysteo вне форума   Ответить с цитированием
Старый 18.07.2017, 15:38   #2
Filya44
Senior Member
 
Аватар для Filya44
 
Регистрация: 21.09.2008
Сообщений: 277
Вес репутации: 191/37
Filya44 has a spectacular aura aboutFilya44 has a spectacular aura about
По умолчанию Re: PIC18F4520 цифровой вход RE0

Может TRISE4 = 0
Filya44 вне форума   Ответить с цитированием
Старый 18.07.2017, 15:42   #3
Mysteo
Junior Member
 
Регистрация: 15.06.2017
Возраст: 26
Сообщений: 23
Вес репутации: 100/3
Mysteo will become famous soon enoughMysteo will become famous soon enough
По умолчанию Re: PIC18F4520 цифровой вход RE0

Нет TRISE4 вообще тут не причем )

Ошибка где то в коде программы, создал новую элементарную программу чтения кнопки и она работает с этим портом, но вот в моем старом проекте получается ерунда какая то , буду разбираться сам, в принципе тему можно удалить.

Не понятно только почему с HI TECH работает а с XC нет
Mysteo вне форума   Ответить с цитированием
Старый 18.07.2017, 16:19   #4
besogon
Senior Member
 
Регистрация: 12.07.2012
Возраст: 31
Сообщений: 1,520
Вес репутации: 3061/65
besogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond repute
По умолчанию Re: PIC18F4520 цифровой вход RE0

Mysteo
Не понятно только почему с HI TECH работает а с XC нет - xc8 в базовом варианте допускает оптимизации, hi-tech - нет. мб. дело в этом.
besogon вне форума   Ответить с цитированием
Старый 19.07.2017, 14:29   #5
Mysteo
Junior Member
 
Регистрация: 15.06.2017
Возраст: 26
Сообщений: 23
Вес репутации: 100/3
Mysteo will become famous soon enoughMysteo will become famous soon enough
По умолчанию Re: PIC18F4520 цифровой вход RE0

Да что-то с оптимизацией , а как отладить не пойму, пробовал и отключать ее и настройки разные ставить, все бестолку.

Последний раз редактировалось Mysteo; 19.07.2017 в 14:35.
Mysteo вне форума   Ответить с цитированием
Старый 19.07.2017, 18:44   #6
besogon
Senior Member
 
Регистрация: 12.07.2012
Возраст: 31
Сообщений: 1,520
Вес репутации: 3061/65
besogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond repute
По умолчанию Re: PIC18F4520 цифровой вход RE0

Mysteo
отладка с бряк по изменению tris ansel и еще что там влияет на ножку?
я, увы, плотно работал только с sdcc для младших.
besogon вне форума   Ответить с цитированием
Старый 19.07.2017, 22:33   #7
Sergey K
Senior Member
 
Регистрация: 23.10.2008
Адрес: Киев
Возраст: 35
Сообщений: 246
Вес репутации: 422/40
Sergey K is just really niceSergey K is just really niceSergey K is just really niceSergey K is just really niceSergey K is just really nice
По умолчанию Re: PIC18F4520 цифровой вход RE0

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

Не так давно убил пол дня на PIC10F222. Там по умолчанию включался выход внутреннего тактового генератора на ножку (которая у меня была настроена на вход с кнопкой). На ножке напряжение было 1/2 питания хоть ты тресни . Я уже и два раза МК перепаивал, пока не высмотрел на ней меандр 1 МГц и потом нашел в документации эту "фитчу" и бит, которым ее отключают
Sergey K вне форума   Ответить с цитированием
Старый 19.07.2017, 23:10   #8
Zhuk72
Member
 
Аватар для Zhuk72
 
Регистрация: 09.11.2015
Адрес: Baku
Возраст: 45
Сообщений: 98
Вес репутации: 431/12
Zhuk72 is just really niceZhuk72 is just really niceZhuk72 is just really niceZhuk72 is just really niceZhuk72 is just really nice
По умолчанию Re: PIC18F4520 цифровой вход RE0

Но тут другой случай. Для него достаточно задать трис и адкон1. Других регистров, влияющих на порт Е, нет. В конфиге только Е3 упоминается (расшаренный с ресетом вывод).
Zhuk72 вне форума   Ответить с цитированием
Старый 20.07.2017, 08:51   #9
Sergey K
Senior Member
 
Регистрация: 23.10.2008
Адрес: Киев
Возраст: 35
Сообщений: 246
Вес репутации: 422/40
Sergey K is just really niceSergey K is just really niceSergey K is just really niceSergey K is just really niceSergey K is just really nice
По умолчанию Re: PIC18F4520 цифровой вход RE0

"Parallel Slave Port" отключен? Там как раз висит "RD - Read control for Parallel Slave Port".
Sergey K вне форума   Ответить с цитированием
Старый 20.07.2017, 09:27   #10
Mysteo
Junior Member
 
Регистрация: 15.06.2017
Возраст: 26
Сообщений: 23
Вес репутации: 100/3
Mysteo will become famous soon enoughMysteo will become famous soon enough
По умолчанию Re: PIC18F4520 цифровой вход RE0

Ребята, косяк был не в порте E0 , а вот в этом коде

Код:
unsigned short int read_ds18b20 (void)

{
    unsigned char x;
	unsigned short int temperatura=0, read;
    for (x=0;x<12;x++)
    {
        WRITE_DALLAS;
        DATA=0;
        DelayUs(10);
	READ_DALLAS;
        TMR2IF=0;
        T2CON |       = 0;  // bits 6-3 Post scaler 1:1 thru 1:16
        TMR2ON  = 1;  // Timer2 on bit: 1=Timer2 is on;
        T2CKPS1 = 0;  // bits 1-0  Prescaler Rate Select bits
        T2CKPS0 = 0;
        PR2 = 30;   
        read=1;         // PR2 (Timer2 Match value) 
        while (TMR2IF==0) 
            {
                if (DATA==0)
                    {
                    	TMR2ON=0;
                    	TMR2IF=1;
                    	read=0;
                    }

            }
        TMR2ON=0;
        TMR2IF=0;
        read<<=x;
        temperatura=temperatura|read;
        DelayUs(60);
    }
        return temperatura;
}
проблема вот в этом коде, с компилятором HI-TECH он отрабатывает как надо, а с XC8 занимает на 8 мкс времени больше и не успевает засечь импульс.
Mysteo вне форума   Ответить с цитированием
Старый 20.07.2017, 12:25   #11
besogon
Senior Member
 
Регистрация: 12.07.2012
Возраст: 31
Сообщений: 1,520
Вес репутации: 3061/65
besogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond repute
По умолчанию Re: PIC18F4520 цифровой вход RE0

Mysteo
это крайне ненадежный и плохой код.
Вам нужно его переписать.
Код:
T2CON |       = 0;  // bits 6-3 Post scaler 1:1 thru 1:16
- это высказывание вообще не имеет смысла. или 0 это число, что и было.

я бы думал в сторону
Код:
/**
 * microchip.ru example
 * read data from sensor
 * @return 
 */
u16 ds18b20_read(void)
{
	auto void timer_init(void);
	auto void timer_start(void);
	auto void timer_wait(u8 ms);
	auto void timer_off(void);
	
	u16 result;

	result = 0;
	timer_init();
	timer_start();
	for(u8 index = 12; index; --index){
		result<<=1;	/*pic16 shifter can only use 1 bit shift's*/
		WRITE_DALLAS;
		DATA = 0;
		DelayUs(10);/*<- it's not a good practice to use this macro*/
		/*use timer_wait instead*/
		READ_DALLAS;
		timer_wait(30);	
		result|= DATA&0x01;
		DelayUs(60);/*<- it's not a good practice to use this macro*/
		/*use timer_wait instead*/	
	}
	timer_off();
	return result;

	/**
	 * init selected timer 
         */
	void timer_init(void)
	{
		/*todo*/		
	}

	/**
	 * start selected timer 
         */
	void timer_start(void)
	{
		/*todo*/	
	}

	/**
	 * 
         */
	void timer_wait(u8 ms_count)
	{
		/*todo*/
	}

	/**
	 * 
         */
	void timer_off(void)
	{
		/*todo*/	
	}
}
besogon вне форума   Ответить с цитированием
Старый 20.07.2017, 15:06   #12
Mysteo
Junior Member
 
Регистрация: 15.06.2017
Возраст: 26
Сообщений: 23
Вес репутации: 100/3
Mysteo will become famous soon enoughMysteo will become famous soon enough
По умолчанию Re: PIC18F4520 цифровой вход RE0

таймер настраивал автоконфигуратором каким-то , прогонял отдельно , смотрел правильно работает, но строчка эта глупая. Буду дальше копаться
Mysteo вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Цифровой вход принимает помехи LKIJ/ЛДКО Продукция MICROCHIP 33 28.12.2014 13:03
На ноге B4 PIC18f4520 высокий уровень, хотя это вход процессора denisvg Продукция MICROCHIP 4 08.11.2012 23:13
MPLAB не находит c018i.o qwerty1 Продукция MICROCHIP 45 22.04.2011 12:14
Экстренно! pic18f Микропрограмма Xaikon Вопросы начинающих 142 24.02.2010 21:41
Контроль интернет-трафика SSH Общетехнические вопросы 9 28.10.2007 08:39


Часовой пояс GMT +3, время: 08:20.


Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd. Перевод: zCarot