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

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

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

Ответ
 
Опции темы Опции просмотра
Старый 19.06.2017, 19:46   #1
Zombie47
Member
 
Регистрация: 05.10.2015
Возраст: 30
Сообщений: 92
Вес репутации: 91/0
Zombie47 will become famous soon enough
По умолчанию Как читать Даташит? Pic16f1847 не работает нога на вход.

Вообщем есть у меня платка с МК pic16f819, код накодил все работает. Но перестало хватать места и нашел pic16f1847 с местом побольше, чтобы платку не переделывать.
Начал вспоминать программирование, что то работает что то нет, вообщем весь день убил на то чтобы заставить работать. Не работает нога на вход.
Как вообще работать с даташитом? Куда смотреть? Вот у меня есть проблема, не работает нога на вход, ну логически думаю дай посмотрю PIN ALLOCATION TABLE
типо как нога может быть задействована, смотрю в книгу вижу фигу =(

PHP код:

void init
(void)
 {
//регистры относящиеся к TMR0
CPSCON0 0b00000001//page 323
OPTION_REG 0b10000000//page 175
TMR0 0//сбрасываем таймер в 0  page 173
TRISA 0b00001001//все порты RA на выход. кроме RA0  RA3 они на вход
//

//регистры относящиеся к TMR1
ANSELB 0b00000000;    //page 127 //все порты RB цифровые
CCP1CON 0b00000100//page 226 //выбор режима, захват сравнение или шим
PIE1 0b00000101;//page 89 //разрешение прерываний
PIR1 0b00000000;  //page 93    //interrupt is pending
PORTB 0b00000000//page 126
TMR1L=0;  //обнуляем значение таймера
TMR1H=0;
TRISB 0b00001000// RB3 на вход для модуля захвата CCP
T1CON 0b01011101;   //page 185
T1GCON 0b00000000;  //page 186
//

//регистры которые имеют отношения ко многому
INTCON 0b11101000//page 88
//
}

void main(){

  
init(); //вызывается функция init
  
Delay_ms(1000);
  
RA2_bit=1;
  
Delay_ms(1000);
  
RA2_bit=0;

  while(
1)
  {
  if (
RA0_bit==1){
                 
RA2_bit=1;  //поджигаем светодиод
                 
}
 if (
RA0_bit==0){
                 
RA2_bit=0;
                 }

  } 
//скобка while 1
}// скобка main 
Конфигурация вот такая:


Среда MicroC
Даташит Pic16f1847
Zombie47 вне форума   Ответить с цитированием
Старый 19.06.2017, 21:49   #2
Ученый
Senior Member
 
Регистрация: 27.02.2007
Адрес: Москва
Возраст: 66
Сообщений: 577
Вес репутации: 1705/61
Ученый has a brilliant futureУченый has a brilliant futureУченый has a brilliant futureУченый has a brilliant futureУченый has a brilliant futureУченый has a brilliant futureУченый has a brilliant futureУченый has a brilliant futureУченый has a brilliant futureУченый has a brilliant futureУченый has a brilliant future
По умолчанию Re: Как читать Даташит? Pic16f1847 не работает нога на вход.

Если речь идет о RA0, то:
Из PIN ALLOCATION TABLE видно, что ножка имеет еще и функцию аналогового входа. Из раздела PORTA Registers выясняем, какие регистры
имеют отношение к PORTA и как оно должны быть сконфигурированы.
__________________
Не знать - не стыдно, стыдно не учиться.
Ученый вне форума   Ответить с цитированием
Старый 20.06.2017, 00:50   #3
Zombie47
Member
 
Регистрация: 05.10.2015
Возраст: 30
Сообщений: 92
Вес репутации: 91/0
Zombie47 will become famous soon enough
По умолчанию Re: Как читать Даташит? Pic16f1847 не работает нога на вход.

Цитата:
Сообщение от Ученый Посмотреть сообщение
Если речь идет о RA0, то:
Из PIN ALLOCATION TABLE видно, что ножка имеет еще и функцию аналогового входа. Из раздела PORTA Registers выясняем, какие регистры
имеют отношение к PORTA и как оно должны быть сконфигурированы.
Вот блин спасибо огромное, чую будут еще вопросы, стараюсь вопросы задавать не как сделать, а как думать=)
Порты Б сконфигурировал как цифровые а про А забыл
ANSELA = 0b00000000; //page 122 //конфигурируем порты А как цифровые
PORTA = 0b00000000; //page 120 //сбрасываем значение ног в 0
вот так заработало.
Zombie47 вне форума   Ответить с цитированием
Старый 20.06.2017, 01:41   #4
Zombie47
Member
 
Регистрация: 05.10.2015
Возраст: 30
Сообщений: 92
Вес репутации: 91/0
Zombie47 will become famous soon enough
По умолчанию Re: Как читать Даташит? Pic16f1847 не работает нога на вход.

Вот блин. теперь перестал работать вот этот код:
PHP код:
void main(){
  
init();
  
Delay_ms(1000);
  
RA2_bit=1;
  
Delay_ms(1000);
  
RA2_bit=0;
  
  while(
1)
  {........ 
Ну задержка, потом загорается светодиод на RA2 потом горит 1 сек и тухнет.
теперь он тупо моргает дай бог на 0.02 сек еле еле тускло. как будто что то переполняется или хз.
Комментирую те две строчки и все ок как было.
Zombie47 вне форума   Ответить с цитированием
Старый 20.06.2017, 11:58   #5
Ученый
Senior Member
 
Регистрация: 27.02.2007
Адрес: Москва
Возраст: 66
Сообщений: 577
Вес репутации: 1705/61
Ученый has a brilliant futureУченый has a brilliant futureУченый has a brilliant futureУченый has a brilliant futureУченый has a brilliant futureУченый has a brilliant futureУченый has a brilliant futureУченый has a brilliant futureУченый has a brilliant futureУченый has a brilliant futureУченый has a brilliant future
По умолчанию Re: Как читать Даташит? Pic16f1847 не работает нога на вход.

Может и не в этом дело, но:
чтобы не было непредсказуемых эффектов от RMW (чтение-модификация-запись) надо читать из PORTx, писать в LATx.
__________________
Не знать - не стыдно, стыдно не учиться.
Ученый вне форума   Ответить с цитированием
Старый 20.06.2017, 13:10   #6
Zombie47
Member
 
Регистрация: 05.10.2015
Возраст: 30
Сообщений: 92
Вес репутации: 91/0
Zombie47 will become famous soon enough
По умолчанию Re: Как читать Даташит? Pic16f1847 не работает нога на вход.

Цитата:
Сообщение от Ученый Посмотреть сообщение
Может и не в этом дело, но:
чтобы не было непредсказуемых эффектов от RMW (чтение-модификация-запись) надо читать из PORTx, писать в LATx.
Да вчера обратил внимание на этот регистр LAT , его в том пике не было.
Если у меня порт RA_0 настроен на вход (TRISA = 0b00000001 и является цифровым (ANSELA = 0b00000000, что я делаю записью PORTA = 0b00000000; ?
Если нога настроена на выход то понятное дело я задаю ей низкий уровень.
Но если нога настроена на вход то уровень задает ей моя физическая подтяжка на плате резистором либо к земле либо к +5 вольтам.
Zombie47 вне форума   Ответить с цитированием
Старый 20.06.2017, 20:28   #7
Zombie47
Member
 
Регистрация: 05.10.2015
Возраст: 30
Сообщений: 92
Вес репутации: 91/0
Zombie47 will become famous soon enough
По умолчанию Re: Как читать Даташит? Pic16f1847 не работает нога на вход.

Странно как только прописываю это //ANSELA = 0b00000000; //page 122
перестает работать вот этот код как писал выше:
Delay_ms(1000);
RA2_bit=1; //поджигает светодиод
Delay_ms(1000);
RA2_bit=0; //тушит светодиод.
Светодиод почему то не тушиться.
Zombie47 вне форума   Ответить с цитированием
Старый 20.06.2017, 21:59   #8
Zombie47
Member
 
Регистрация: 05.10.2015
Возраст: 30
Сообщений: 92
Вес репутации: 91/0
Zombie47 will become famous soon enough
По умолчанию Re: Как читать Даташит? Pic16f1847 не работает нога на вход.

Немного не понимаю вот этой таблички, это приоритет портов.
Тоесть если я хочу чтобы RB2 работал как вход выход мне надо отключить чтобы он не был по умолчанию SDA2, потом TX/CK, потом RX/DT, SDO1 и только тогда когда все отключу он будет как порт ввода вывода?
Zombie47 вне форума   Ответить с цитированием
Старый 21.06.2017, 11:06   #9
Zombie47
Member
 
Регистрация: 05.10.2015
Возраст: 30
Сообщений: 92
Вес репутации: 91/0
Zombie47 will become famous soon enough
По умолчанию Re: Как читать Даташит? Pic16f1847 не работает нога на вход.

почему у меня вот такая запись работает:
if (LATA0_bit==1){ RA2_bit=1; }
if (LATA0_bit==0){RA2_bit=0; }

такая работает
if (RA0_bit==1){ RA2_bit=1; }
if (RA0_bit==0){RA2_bit=0; }

такая работает
if (RA0_bit==0 && memEco==0) {RA2_bit=1;memEco=1;}
if (RA0_bit==0 && memEco==1) {RA2_bit=0;memEco=0;}

а такая НЕТ:
if (LATA0_bit==0 && memEco==0) {RA2_bit=1;memEco=1;}
if (LATA0_bit==0 && memEco==1) {RA2_bit=0;memEco=0;}

не понимаю смысла защелок LATA
Или LATA для записи а не для чтения?=))))
Zombie47 вне форума   Ответить с цитированием
Старый 21.06.2017, 11:13   #10
Ученый
Senior Member
 
Регистрация: 27.02.2007
Адрес: Москва
Возраст: 66
Сообщений: 577
Вес репутации: 1705/61
Ученый has a brilliant futureУченый has a brilliant futureУченый has a brilliant futureУченый has a brilliant futureУченый has a brilliant futureУченый has a brilliant futureУченый has a brilliant futureУченый has a brilliant futureУченый has a brilliant futureУченый has a brilliant futureУченый has a brilliant future
По умолчанию Re: Как читать Даташит? Pic16f1847 не работает нога на вход.

Приоритет вступает в силу, когда разрешены альтернативные функции порта. За это отвечают регистры APFCONх, по умолчанию там все 0.
Цитата:
Если у меня порт RA_0 настроен на вход (TRISA = 0b00000001 и является цифровым (ANSELA = 0b00000000, что я делаю записью PORTA = 0b00000000; ?
См. раздел 12.0, там все написано и нарисовано. Про RMW - здесь:
http://www.microchip.com/forums/m478014.aspx
__________________
Не знать - не стыдно, стыдно не учиться.
Ученый вне форума   Ответить с цитированием
Старый 21.06.2017, 16:25   #11
Марк
Senior Member
 
Аватар для Марк
 
Регистрация: 18.08.2007
Адрес: МО
Возраст: 57
Сообщений: 1,893
Вес репутации: 2527/80
Марк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond repute
По умолчанию Re: Как читать Даташит? Pic16f1847 не работает нога на вход.

Цитата:
Сообщение от Zombie47 Посмотреть сообщение
не понимаю смысла защелок LATA
Или LATA для записи а не для чтения?=))))
LATх - это защелка выходного порта. Значит читать там можно лишь то, что туда записали. Как в обычном регистре. Прочитать пин через LATх невозможно. Пин читается только через PORTх.
Сиречь, если вывести в LAT высокий уровень и закоротить ножку на землю, то с LAT будет читаться 1, а с PORT той же ноги - 0. Между выходом защелки и пином находится БУФЕР. Потому и такой эффект.

Последний раз редактировалось Марк; 21.06.2017 в 16:34.
Марк вне форума   Ответить с цитированием
Старый 21.06.2017, 16:28   #12
Марк
Senior Member
 
Аватар для Марк
 
Регистрация: 18.08.2007
Адрес: МО
Возраст: 57
Сообщений: 1,893
Вес репутации: 2527/80
Марк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond repute
По умолчанию Re: Как читать Даташит? Pic16f1847 не работает нога на вход.

Цитата:
Сообщение от Ученый Посмотреть сообщение
Про RMW - здесь
В данном случае RMW не причем.
Марк вне форума   Ответить с цитированием
Старый 21.06.2017, 16:36   #13
Zombie47
Member
 
Регистрация: 05.10.2015
Возраст: 30
Сообщений: 92
Вес репутации: 91/0
Zombie47 will become famous soon enough
По умолчанию Re: Как читать Даташит? Pic16f1847 не работает нога на вход.

Цитата:
Сообщение от Марк Посмотреть сообщение
LATх - это защелка выходного порта. Значит читать там можно лишь то, что туда записали. Как в обычном регистре. Прочитать пин через LATх невозможно. Пин читается только через PORTх.
Сиречь, если вывести в LAT высокий уровень и закоротить ножку на землю, то с LAT будет читаться 1, а с PORT той же ноги - 0. Между выходом защелки и пином находится БУФЕР. Потому и такой эффект.
Спасибо более менее понятно =) а LAT меняет свое положение токо программно получается?
Zombie47 вне форума   Ответить с цитированием
Старый 21.06.2017, 16:42   #14
Zombie47
Member
 
Регистрация: 05.10.2015
Возраст: 30
Сообщений: 92
Вес репутации: 91/0
Zombie47 will become famous soon enough
По умолчанию Re: Как читать Даташит? Pic16f1847 не работает нога на вход.

Сейчас столкнулся с тем что не могу включить модуль SPI на новом проце. Начал разбираться выяснил что проц виснет если включаю разрешение прерываний от перифирийных устройств. Начал разбираться дальше выяснил что виснет проц если включаю разрешения прерываний от TMR1IE и от SSP1IE

Пока не понял как включить SPI модуль.
И еще, чтобы понять включился спи модуль или нет я поставил в коде отслеживание положение ноги SPI SS а именно вот так
Код:
if (RB5==0) {LATA2_bit=1;}
Как только нога поменяет свое положение зажгу светодиод. Эта нога при приеме передаче должна дергаться поэтому хоть как то будет мерцать светодиод. Правильно ли я сделал?

Попытался сконфигурировать SPI модуль вот так:
APFCON0 = 0b00000000; //page 118

А так же судорожно вставляю в инициализации
PORTA = 0b00000000;
PORTB = 0b00000000;
чтобы порты обнулить. хз зачем глюки как то были.

Так же попробывал настроить правильные направления портов
TRISA = 0b00001001;
TRISB = 0b00001010; //RB1 на вход (SDI) , RB2 на выход (SDO), RB5 на выход (SS)

Последний раз редактировалось Zombie47; 21.06.2017 в 16:47.
Zombie47 вне форума   Ответить с цитированием
Старый 21.06.2017, 16:47   #15
Марк
Senior Member
 
Аватар для Марк
 
Регистрация: 18.08.2007
Адрес: МО
Возраст: 57
Сообщений: 1,893
Вес репутации: 2527/80
Марк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond repute
По умолчанию Re: Как читать Даташит? Pic16f1847 не работает нога на вход.

Цитата:
Сообщение от Zombie47 Посмотреть сообщение
Спасибо более менее понятно =) а LAT меняет свое положение токо программно получается?
Да.
По второму сообщению.
Вы понимаете назначение ноги SS?
Марк вне форума   Ответить с цитированием
Старый 21.06.2017, 17:04   #16
Zombie47
Member
 
Регистрация: 05.10.2015
Возраст: 30
Сообщений: 92
Вес репутации: 91/0
Zombie47 will become famous soon enough
По умолчанию Re: Как читать Даташит? Pic16f1847 не работает нога на вход.

Цитата:
Сообщение от Марк Посмотреть сообщение
Да.
По второму сообщению.
Вы понимаете назначение ноги SS?
Назначение понимаю названия не помню =))) знаю есть нога выбора чипа а есть нога тактирования, я хотел отслеживать ногу тактирования видимо ошибся раз вы поправили.
Zombie47 вне форума   Ответить с цитированием
Старый 21.06.2017, 17:06   #17
Zombie47
Member
 
Регистрация: 05.10.2015
Возраст: 30
Сообщений: 92
Вес репутации: 91/0
Zombie47 will become famous soon enough
По умолчанию Re: Как читать Даташит? Pic16f1847 не работает нога на вход.

Вот блин везде пищут про LATA защелка в гугле а нигде не написать было элементарно что LATA меняет свое положение только програмно а PORTA меняет свое положение и програмно и физически=)
Zombie47 вне форума   Ответить с цитированием
Старый 21.06.2017, 17:18   #18
Марк
Senior Member
 
Аватар для Марк
 
Регистрация: 18.08.2007
Адрес: МО
Возраст: 57
Сообщений: 1,893
Вес репутации: 2527/80
Марк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond repute
По умолчанию Re: Как читать Даташит? Pic16f1847 не работает нога на вход.

Цитата:
Сообщение от Zombie47 Посмотреть сообщение
Назначение понимаю названия не помню =))) знаю есть нога выбора чипа а есть нога тактирования, я хотел отслеживать ногу тактирования видимо ошибся раз вы поправили.
Нога тактирования называется SCK, а нога SS - это ВХОД слейв селект. То есть управление подключением передатчика слейва к линии и в режиме мастера НЕ ИСПОЛЬЗУЕТСЯ. Вы бы даташит открыли, что ли...
Марк вне форума   Ответить с цитированием
Старый 21.06.2017, 17:30   #19
Ученый
Senior Member
 
Регистрация: 27.02.2007
Адрес: Москва
Возраст: 66
Сообщений: 577
Вес репутации: 1705/61
Ученый has a brilliant futureУченый has a brilliant futureУченый has a brilliant futureУченый has a brilliant futureУченый has a brilliant futureУченый has a brilliant futureУченый has a brilliant futureУченый has a brilliant futureУченый has a brilliant futureУченый has a brilliant futureУченый has a brilliant future
По умолчанию Re: Как читать Даташит? Pic16f1847 не работает нога на вход.

Цитата:
Сообщение от Марк Посмотреть сообщение
В данном случае RMW ни при чем.
Почему же, LATx регистры как раз и появились, чтобы снять проблему RMW - что пишем, то и читаем без влияния напряжения на выходном пине.
Цитата:
The Data Latch (LATx registers) is useful for
read-modify-write operations on the value that the I/O
pins are driving
__________________
Не знать - не стыдно, стыдно не учиться.
Ученый вне форума   Ответить с цитированием
Старый 21.06.2017, 17:35   #20
Zombie47
Member
 
Регистрация: 05.10.2015
Возраст: 30
Сообщений: 92
Вес репутации: 91/0
Zombie47 will become famous soon enough
По умолчанию Re: Как читать Даташит? Pic16f1847 не работает нога на вход.

Цитата:
Сообщение от Марк Посмотреть сообщение
Нога тактирования называется SCK, а нога SS - это ВХОД слейв селект. То есть управление подключением передатчика слейва к линии и в режиме мастера НЕ ИСПОЛЬЗУЕТСЯ. Вы бы даташит открыли, что ли...
чет я уже подзабыл видимо про SPI . если нога не используется как микруха поймет что ей передача? мне же надо уровень на ноге поменять на мастере, чтобы шлейв микруха поняла что с ней буду общаться.
Zombie47 вне форума   Ответить с цитированием
Старый 21.06.2017, 17:35   #21
Марк
Senior Member
 
Аватар для Марк
 
Регистрация: 18.08.2007
Адрес: МО
Возраст: 57
Сообщений: 1,893
Вес репутации: 2527/80
Марк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond repute
По умолчанию Re: Как читать Даташит? Pic16f1847 не работает нога на вход.

Цитата:
Сообщение от Ученый Посмотреть сообщение
LATx регистры как раз и появились, чтобы снять проблему RMW
Только вопрос появления LAT не обсуждался. Поэтому и ни причем.
ТС пытался читать вход с LAT. Причем же тут RMW?
Марк вне форума   Ответить с цитированием
Старый 21.06.2017, 17:45   #22
Марк
Senior Member
 
Аватар для Марк
 
Регистрация: 18.08.2007
Адрес: МО
Возраст: 57
Сообщений: 1,893
Вес репутации: 2527/80
Марк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond repute
По умолчанию Re: Как читать Даташит? Pic16f1847 не работает нога на вход.

Цитата:
Сообщение от Zombie47 Посмотреть сообщение
чет я уже подзабыл видимо про SPI . если нога не используется как микруха поймет что ей передача? мне же надо уровень на ноге поменять на мастере, чтобы шлейв микруха поняла что с ней буду общаться.
Вообще то при соединении точка-точка слейву не требуется ничего узнавать. SS используется для управления соединением звездой.
То есть образуется КОЛЬЦО из двух сдвиговых регистров. Один у мастера, а другой у слейва. Клоки для сдвига генерирует мастер. При этой схеме более ничего не требуется.
Единственно что нужно дополнительно, это СТРОБ защелкивания данных ДЛЯ СЛЕЙВА, чтобы фиксировать в нем завершение приема. Но это просто обычный выход, который дергают сообразно протоколу слейва.

Последний раз редактировалось Марк; 21.06.2017 в 17:51.
Марк вне форума   Ответить с цитированием
Старый 21.06.2017, 18:07   #23
Ученый
Senior Member
 
Регистрация: 27.02.2007
Адрес: Москва
Возраст: 66
Сообщений: 577
Вес репутации: 1705/61
Ученый has a brilliant futureУченый has a brilliant futureУченый has a brilliant futureУченый has a brilliant futureУченый has a brilliant futureУченый has a brilliant futureУченый has a brilliant futureУченый has a brilliant futureУченый has a brilliant futureУченый has a brilliant futureУченый has a brilliant future
По умолчанию Re: Как читать Даташит? Pic16f1847 не работает нога на вход.

Цитата:
Сообщение от Марк Посмотреть сообщение
Только вопрос появления LAT не обсуждался. Поэтому и ни при чем.
ТС пытался читать вход с LAT. При чем же тут RMW?
В разделе 12.0, который я рекомендовал почитать, написано про LAT и упоминается RMW. Для облегчения жизни ТС дал ссылку. Не вижу криминала.
Пустой спор, закрываем.
__________________
Не знать - не стыдно, стыдно не учиться.
Ученый вне форума   Ответить с цитированием
Старый 21.06.2017, 18:32   #24
Zombie47
Member
 
Регистрация: 05.10.2015
Возраст: 30
Сообщений: 92
Вес репутации: 91/0
Zombie47 will become famous soon enough
По умолчанию Re: Как читать Даташит? Pic16f1847 не работает нога на вход.

Так как заставить работать аппаратный модуль SPI на МК pic16f1847
для того чтобы понять работает он или нет поставил слежение за ногой SCK SCL
если будет 0 то зажгет светодиод.
Для того чтобы понять что МК стартует, поставил моргание светодиодом в начале.
Как настроить SPI? Все регистры по нему шерстить или что?
Среда MicroC
Код:
void InitMain() {

   ANSELB = 0b00000000;    //page 127 //все порты RB цифровые
   ANSELA = 0b00000000;
   TRISA = 0b00111001;
   TRISB = 0b00001010;
   APFCON0 = 0b00000000; //page 118
   INTCON = 0b11000000; //page 88
   PIE1 = 0b00001010;//page 89 //разрешение прерываний
   SPI1_Init();     //инициализация SPI по дефолту

}

void main() {
  InitMain();                            // инициализация МК ног и тд
  Delay_ms(100);
  LATA2_bit=1;
  Delay_ms(100);
  LATA2_bit=0;
  Delay_ms(100);
  LATA2_bit=1;
  Delay_ms(100);
  LATA2_bit=0;
   Delay_ms(100);
  LATA2_bit=1;
  Delay_ms(100);
  LATA2_bit=0;
  
 while (1) {
SPI1_Write(10);
 if (RB4==0) {LATA2_bit=1;} //если на аппаратной ноге SCK/SCL появится 0 то поджигаем светодиод
 }
}
Zombie47 вне форума   Ответить с цитированием
Старый 21.06.2017, 19:21   #25
Ученый
Senior Member
 
Регистрация: 27.02.2007
Адрес: Москва
Возраст: 66
Сообщений: 577
Вес репутации: 1705/61
Ученый has a brilliant futureУченый has a brilliant futureУченый has a brilliant futureУченый has a brilliant futureУченый has a brilliant futureУченый has a brilliant futureУченый has a brilliant futureУченый has a brilliant futureУченый has a brilliant futureУченый has a brilliant futureУченый has a brilliant future
По умолчанию Re: Как читать Даташит? Pic16f1847 не работает нога на вход.

Цитата:
Сообщение от Zombie47 Посмотреть сообщение
Как настроить SPI? Все регистры по нему шерстить или что?
Их "Всех" всего-то 2. Для запуска в первом приближении достаточно SSPxCON, и "шерстить" его надо обязательно и внимательно.
Читай про SSPEN и SSPM<3:0>, остальное это диагностика и настройка кучи режимов.
С прерываниями пока не связывайся, будут конкретные вопросы - ответим.
__________________
Не знать - не стыдно, стыдно не учиться.
Ученый вне форума   Ответить с цитированием
Ответ


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

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
наше образование, или будущие ембеддеры - кто они... Vlad&mir Общетехнические вопросы 357 13.01.2015 11:34
Не работают порты на вход?! Серега Вопросы начинающих 25 09.05.2011 00:46
проблемка с PIC16F628A bereg_ok Продукция MICROCHIP 72 07.09.2007 11:00
PIC18F8720 PORTA не работает на вход Ilyxa Продукция MICROCHIP 5 29.03.2007 17:37


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


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