Виж темите без отговор | Виж активните теми
Дата и час: Пет Мар 29, 2024 10:00 am
Автор |
Съобщение |
ToHu
Ранг: Форумен бог
Регистриран на: Нед Сеп 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 |
|
|
Desert Leo
Ранг: Форумен бог
Регистриран на: Чет Фев 10, 2005 2:25 pm Мнения: 4975 Местоположение: София
|
Re: Хардуерен i2c с CCS
i2c_init(1); // ?
|
Сря Мар 02, 2022 9:19 am |
|
|
Stoimen
Ранг: Популярен
Регистриран на: Пет Юни 25, 2010 2:18 pm Мнения: 338 Местоположение: Varna
|
Re: Хардуерен i2c с CCS
Ползвал съм i2c със вградените функции на CCS-а, но на 18f452. Сега пробвах със 16ф721 и 16ф690 - и за двата генерира този неадекватен код. Пробвах и за 18ф452 и там нещата изглеждат добре. FC5.0 е SEN: START Condition Enabled/Stretch Enabled bit
|
Сря Мар 02, 2022 1:58 pm |
|
|
ToHu
Ранг: Форумен бог
Регистриран на: Нед Сеп 26, 2004 8:21 pm Мнения: 27949 Местоположение: София
|
Re: Хардуерен i2c с CCS
Ами и така мисля го пробвах и със скорост го пробвах. За тоя случай е все тая дали ще е хардуерния или не, но в следващият проект вече трябва да е хардуерният, там ще е слейв и софтуерното i2c ще изяде ненужно много ресурс. Ще го мъча, пък ако не стане ще го напиша, няма да е първия път
|
Сря Мар 02, 2022 3:28 pm |
|
|
Desert Leo
Ранг: Форумен бог
Регистриран на: Чет Фев 10, 2005 2:25 pm Мнения: 4975 Местоположение: София
|
Re: Хардуерен i2c с CCS
Какво е свързано на i2c-то? Пробвай SMBUS опцията в #use i2c(). Не е лошо да питаш и в CCS форума...
|
Сря Мар 02, 2022 4:00 pm |
|
|
ToHu
Ранг: Форумен бог
Регистриран на: Нед Сеп 26, 2004 8:21 pm Мнения: 27949 Местоположение: София
|
Re: Хардуерен i2c с CCS
В момента има CAP1293, но той си отговаря чинно, в момента в който махна да го форсва хардуерно започва да си работи. Ще му отделя време ама няма да е сега. Аз друго си мисля, д ане би да е правена библиотеката да поддържа слейв режим, и това i2c_start да не са го донаписали.
|
Сря Мар 02, 2022 4:10 pm |
|
|
Desert Leo
Ранг: Форумен бог
Регистриран на: Чет Фев 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 |
|
|
ToHu
Ранг: Форумен бог
Регистриран на: Нед Сеп 26, 2004 8:21 pm Мнения: 27949 Местоположение: София
|
Re: Хардуерен i2c с CCS
Ами ами пробвах същия инит със същите #use но листинга е все същия, 11 е TMR2, 91 обаче е OSCTUNE. В твоя код виждам че проверява на таймер 1 младшия бит, нещо не им е наред в адресите ми се чини.
|
Сря Мар 02, 2022 5:40 pm |
|
|
Stoimen
Ранг: Популярен
Регистриран на: Пет Юни 25, 2010 2:18 pm Мнения: 338 Местоположение: Varna
|
Re: Хардуерен i2c с CCS
Дааа за 16F1825 се генерира коректен код. #use i2c(Master,Fast,sda=PIN_C1,scl=PIN_C0,force_hw)
|
Сря Мар 02, 2022 5:51 pm |
|
|
Desert Leo
Ранг: Форумен бог
Регистриран на: Чет Фев 10, 2005 2:25 pm Мнения: 4975 Местоположение: София
|
Re: Хардуерен i2c с CCS
Освен проба с друга ревизия на компилатора, за друго не се сещам. Имах преди време случай - попадам на нова ревизия и ъпдейтвам, след което компилиран със старата ревизия код дава множество грешки при компилация.
|
Сря Мар 02, 2022 6:19 pm |
|
|
ToHu
Ранг: Форумен бог
Регистриран на: Нед Сеп 26, 2004 8:21 pm Мнения: 27949 Местоположение: София
|
Re: Хардуерен i2c с CCS
За тоя ще го карам в софтуерен режим, не губя нищо, другата седмица като почна другия проект ще го боря вече по-сериозно, но там е друг чип току виж компилирало вярно.
|
Сря Мар 02, 2022 7:38 pm |
|
|
slav4o.com
Ранг: Форумен бог
Регистриран на: Нед Яну 01, 2012 7:04 pm Мнения: 2581 Местоположение: Велико Търново / София
|
Re: Хардуерен i2c с CCS
Е предполагам не е сложно да се напишат нови функции за хардуерният модул.
|
Сря Мар 02, 2022 7:49 pm |
|
|
ToHu
Ранг: Форумен бог
Регистриран на: Нед Сеп 26, 2004 8:21 pm Мнения: 27949 Местоположение: София
|
Re: Хардуерен i2c с CCS
Да не е, ако не работи на другия точно това ще направя, то не е кой знае какво, за този директно си казвам мързи ме То и за този може след това да ги сменя, тука съм подхванал няколко неща на веднъж и гледам да си уплътнявам времето. Зора ми в момента е д аподкарам този тъч чип, защото има чисто механични неща свързани с дизайна които трябва да уточня, те пък са свързани с чипа и по точно рамера и позиция на електродите. Да ама мърфи не спи, подкарах чипа не е притигнал още интерфейса и това през което ще трябва да ловят тия тъч бутони За другия пък проект чакам пдф-и на едни лед рингове, и там дърво. Та за момент спирам до тук докато не ми дойдат пратчиците, пък сега подхващам ЕРП-то, че 2 години добрите мексиканци не са го пипвали, сега трябва да въведа ред в нещата
|
Сря Мар 02, 2022 8:44 pm |
|
|
itso.t
Ранг: Форумен бог
Регистриран на: Чет Фев 03, 2005 1:21 am Мнения: 10573 Местоположение: София
|
Re: Хардуерен i2c с CCS
Прегледах по диагонал инклуд файловете на XC8 за 16F721. И за него, и за 16F720 няма и ред за I2C. За други пикове има. Да няма някаква бъгавиня в периферията и затова да са го канселирали?
|
Сря Мар 02, 2022 9:15 pm |
|
|
ToHu
Ранг: Форумен бог
Регистриран на: Нед Сеп 26, 2004 8:21 pm Мнения: 27949 Местоположение: София
|
Re: Хардуерен i2c с CCS
Ами знам ли, едва ли. По скоро проблема е в CCS-а, няма да е първия. Преди години, доста мъчих някакъв onewire пак с библиотека на CCS, вече не помня ама имаше някаква простотия в кода, дърво някакво имаше и библиотеката им за LCD контролери, и там забиваше в някакъв while. Случвало ми се е и грешни дефиниции. Може да проверя какво има в дефинициите за 721,ама не е в 17F721.h файла, друг файл имаха някъде по спомен, ама вече не поня и къде. Аз от години използвам основно силабси и почвам да забравям кое къде е в ccs-а
|
Сря Мар 02, 2022 11:55 pm |
|
|
Кой е на линия |
Потребители разглеждащи този форум: Google [Bot] и 4 госта |
|
Вие не можете да пускате нови теми Вие не можете да отговаряте на теми Вие не можете да променяте собственото си мнение Вие не можете да изтривате собствените си мнения Вие не можете да прикачвате файл
|
|