Отговори на тема  [ 18 мнения ]  Отиди на страница 1, 2  Следваща
Хардуерен i2c с CCS 
Автор Съобщение
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Сеп 26, 2004 8:21 pm
Мнения: 27949
Местоположение: София
Мнение Хардуерен i2c с CCS
Пускам тук един пикльо 16F721, има вграден i2c, ама нещо се пъни да работи с на CCS-а функциите, та се чудя някой дали го е борил. В софтуерен режим i2c-то си пее, но ако му кажа да използва хардуера,
#use i2c(Master,sda=PIN_B4,scl=PIN_B6,force_hw), и забива още на i2c_start(). На CCS дебъгера май умря, имам Pickit 3, но CCS си търси някакви жабешки dll-ти и няма подкарване, та работя без дебъг. Това което става според мен е че зацикля на 008F
.................... i2c_start();
008D: BSF 03.5
008E: BSF 11.0
008F: BTFSC 11.0
0090: GOTO 08F

Гледам листинга не виждам да сменят адресирането, и това ръчка нейде в OSCCON регистъра, той е на адрес 11 в банка 1, изглежда ми на поредната сбъркана функция на CCS-а, но ако някой го е подкарвал да каже как го е вразумил.


Вто Мар 01, 2022 10:21 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Чет Фев 10, 2005 2:25 pm
Мнения: 4975
Местоположение: София
Мнение Re: Хардуерен i2c с CCS
i2c_init(1); // ?


Сря Мар 02, 2022 9:19 am
Профил
Ранг: Популярен
Ранг: Популярен

Регистриран на: Пет Юни 25, 2010 2:18 pm
Мнения: 338
Местоположение: Varna
Мнение Re: Хардуерен i2c с CCS
Ползвал съм i2c със вградените функции на CCS-а, но на 18f452.
Сега пробвах със 16ф721 и 16ф690 - и за двата генерира този неадекватен код.
Пробвах и за 18ф452 и там нещата изглеждат добре.
Код:
0024:  BSF    FC5.0
0026:  BTFSC  FC5.0
0028:  BRA    0026


FC5.0 е SEN: START Condition Enabled/Stretch Enabled bit


Сря Мар 02, 2022 1:58 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Сеп 26, 2004 8:21 pm
Мнения: 27949
Местоположение: София
Мнение Re: Хардуерен i2c с CCS
Desert Leo написа:
i2c_init(1); // ?

Ами и така мисля го пробвах и със скорост го пробвах. За тоя случай е все тая дали ще е хардуерния или не, но в следващият проект вече трябва да е хардуерният, там ще е слейв и софтуерното i2c ще изяде ненужно много ресурс.
Ще го мъча, пък ако не стане ще го напиша, няма да е първия път


Сря Мар 02, 2022 3:28 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Чет Фев 10, 2005 2:25 pm
Мнения: 4975
Местоположение: София
Мнение Re: Хардуерен i2c с CCS
Какво е свързано на i2c-то? Пробвай SMBUS опцията в #use i2c(). Не е лошо да питаш и в CCS форума...


Сря Мар 02, 2022 4:00 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Сеп 26, 2004 8:21 pm
Мнения: 27949
Местоположение: София
Мнение Re: Хардуерен i2c с CCS
В момента има CAP1293, но той си отговаря чинно, в момента в който махна да го форсва хардуерно започва да си работи. Ще му отделя време ама няма да е сега. Аз друго си мисля, д ане би да е правена библиотеката да поддържа слейв режим, и това i2c_start да не са го донаписали.


Сря Мар 02, 2022 4:10 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Чет Фев 10, 2005 2:25 pm
Мнения: 4975
Местоположение: София
Мнение Re: Хардуерен i2c с CCS
Никога не съм имал проблем с i2c_start().
Изкопах един проект с PIC16F1825 и MMA8652:

#use i2c(master, slow, sda=PIN_C1, scl=PIN_C0, smbus, force_hw)

i2c_init(TRUE);

.................... i2c_start();
030C: MOVLB 04
030D: BSF 16.0
030E: BTFSC 16.0
030F: GOTO 30E


Сря Мар 02, 2022 5:04 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Сеп 26, 2004 8:21 pm
Мнения: 27949
Местоположение: София
Мнение Re: Хардуерен i2c с CCS
Ами ами пробвах същия инит със същите #use но листинга е все същия, 11 е TMR2, 91 обаче е OSCTUNE. В твоя код виждам че проверява на таймер 1 младшия бит, нещо не им е наред в адресите ми се чини.


Сря Мар 02, 2022 5:40 pm
Профил
Ранг: Популярен
Ранг: Популярен

Регистриран на: Пет Юни 25, 2010 2:18 pm
Мнения: 338
Местоположение: Varna
Мнение Re: Хардуерен i2c с CCS
Дааа за 16F1825 се генерира коректен код.

#use i2c(Master,Fast,sda=PIN_C1,scl=PIN_C0,force_hw)
Код:
....................    i2c_start();            // If the write command is acknowledged,
0017:  MOVLB  04
0018:  BSF    16.0
0019:  BTFSC  16.0
001A:  GOTO   019


Сря Мар 02, 2022 5:51 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Чет Фев 10, 2005 2:25 pm
Мнения: 4975
Местоположение: София
Мнение Re: Хардуерен i2c с CCS
Освен проба с друга ревизия на компилатора, за друго не се сещам. Имах преди време случай - попадам на нова ревизия и ъпдейтвам, след което компилиран със старата ревизия код дава множество грешки при компилация.


Сря Мар 02, 2022 6:19 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Сеп 26, 2004 8:21 pm
Мнения: 27949
Местоположение: София
Мнение Re: Хардуерен i2c с CCS
За тоя ще го карам в софтуерен режим, не губя нищо, другата седмица като почна другия проект ще го боря вече по-сериозно, но там е друг чип току виж компилирало вярно.


Сря Мар 02, 2022 7:38 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Яну 01, 2012 7:04 pm
Мнения: 2581
Местоположение: Велико Търново / София
Мнение Re: Хардуерен i2c с CCS
Е предполагам не е сложно да се напишат нови функции за хардуерният модул.

_________________
https://github.com/slav4ocom/


Сря Мар 02, 2022 7:49 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Сеп 26, 2004 8:21 pm
Мнения: 27949
Местоположение: София
Мнение Re: Хардуерен i2c с CCS
Да не е, ако не работи на другия точно това ще направя, то не е кой знае какво, за този директно си казвам мързи ме :) То и за този може след това да ги сменя, тука съм подхванал няколко неща на веднъж и гледам да си уплътнявам времето. Зора ми в момента е д аподкарам този тъч чип, защото има чисто механични неща свързани с дизайна които трябва да уточня, те пък са свързани с чипа и по точно рамера и позиция на електродите. Да ама мърфи не спи, подкарах чипа не е притигнал още интерфейса и това през което ще трябва да ловят тия тъч бутони :)
За другия пък проект чакам пдф-и на едни лед рингове, и там дърво.
Та за момент спирам до тук докато не ми дойдат пратчиците, пък сега подхващам ЕРП-то, че 2 години добрите мексиканци не са го пипвали, сега трябва да въведа ред в нещата :)


Сря Мар 02, 2022 8:44 pm
Профил
Online
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Чет Фев 03, 2005 1:21 am
Мнения: 10573
Местоположение: София
Мнение Re: Хардуерен i2c с CCS
Прегледах по диагонал инклуд файловете на XC8 за 16F721. И за него, и за 16F720 няма и ред за I2C. За други пикове има.
Да няма някаква бъгавиня в периферията и затова да са го канселирали?


Сря Мар 02, 2022 9:15 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Сеп 26, 2004 8:21 pm
Мнения: 27949
Местоположение: София
Мнение Re: Хардуерен i2c с CCS
Ами знам ли, едва ли. По скоро проблема е в CCS-а, няма да е първия. Преди години, доста мъчих някакъв onewire пак с библиотека на CCS, вече не помня ама имаше някаква простотия в кода, дърво някакво имаше и библиотеката им за LCD контролери, и там забиваше в някакъв while. Случвало ми се е и грешни дефиниции. Може да проверя какво има в дефинициите за 721,ама не е в 17F721.h файла, друг файл имаха някъде по спомен, ама вече не поня и къде. Аз от години използвам основно силабси и почвам да забравям кое къде е в ccs-а


Сря Мар 02, 2022 11:55 pm
Профил
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 18 мнения ]  Отиди на страница 1, 2  Следваща

Кой е на линия

Потребители разглеждащи този форум: Google [Bot] и 4 госта


Вие не можете да пускате нови теми
Вие не можете да отговаряте на теми
Вие не можете да променяте собственото си мнение
Вие не можете да изтривате собствените си мнения
Вие не можете да прикачвате файл

Търсене:
Иди на:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.
Хостинг и Домейни