Виж темите без отговор | Виж активните теми
Дата и час: Чет Апр 25, 2024 12:38 pm
PIC12F509 - написах код ама работи само на симулация
Автор |
Съобщение |
Ванко
Ранг: Минаващ
Регистриран на: Вто Дек 17, 2019 5:51 pm Мнения: 13
|
Re: PIC12F509 - написах код ама работи само на симулация
Този MPLAB ми е адски отвратителен та и ненужен за моите нужди. Изначале първия код от първия пост го бях написал на MikroC за PIC16f648 и бачкаше, аз си викам то има излишък на крака и на мозък та и място заема и е много за целта (имам много по интересни задачи за него), а тези 12-ки ми се търкалят безработни и ги метнах ама то костелив орех излезе. Аз си правя кодовете на MikroC Pro PIC и братчето му MikroC Pro AVR и много си ги харесвам ама това дребно диване и разработчиците не го искат в програмата си и пишат, че създавало много проблеми и не го сложили. Аз ако знаех, щях да купя 16F675 - руските радио-котараци много го обичат. Смятам, че за това, което искам да кандардисам 12F509 е повече от достатъчен. Това, че се мъча - в същност ми помага, понеже научавам още в процеса, инак не съм имал проблеми с 16F628, 16F627, 16F648, 16F886, 16f887 и АТТ2313 заедно с атмегите до 328 ама те са пак големи за целта (и за тях имам готови никси и флуоресцентни проекти )
|
Сря Дек 18, 2019 9:57 pm |
|
|
Ванко
Ранг: Минаващ
Регистриран на: Вто Дек 17, 2019 5:51 pm Мнения: 13
|
Re: PIC12F509 - написах код ама работи само на симулация
stefan63 ама на мен не ми трябва TRIS=0b001011 тоест 0х6 a TRIS=0b110000 тоест 0x30 за входовете и изходите Аз настройките на бушоните от програматора мога да си ги менкам въпреки Хекса. Е записва го ама ефекта е нулев! ще пробвам с тази конфигурация само на мигалка 500мС на GP0 да видя поне дали настройките бачкат
|
Сря Дек 18, 2019 10:03 pm |
|
|
stefan63
Ранг: Форумен бог
Регистриран на: Вто Фев 07, 2012 10:22 pm Мнения: 3082
|
Re: PIC12F509 - написах код ама работи само на симулация
Чакай, на схемата си дaл GP5 =out, GP4=out, GP3=in/reset, GP2 out, GP1 = in, GP0 - in TRIS=0b001011 , ----- 0xB не 0x6
|
Сря Дек 18, 2019 10:29 pm |
|
|
Ванко
Ранг: Минаващ
Регистриран на: Вто Дек 17, 2019 5:51 pm Мнения: 13
|
Re: PIC12F509 - написах код ама работи само на симулация
Да, одеве писах че после ги размених и го оказах в TRIS ама пак нямаше ефект! А сега закоментирах всичко и направих това: Абсолютно никаква реакция!
|
Сря Дек 18, 2019 10:53 pm |
|
|
stefan63
Ранг: Форумен бог
Регистриран на: Вто Фев 07, 2012 10:22 pm Мнения: 3082
|
Re: PIC12F509 - написах код ама работи само на симулация
Сега погледнах HEXa от проекта в началото. Това трябва да е конфиг.дума :021FFE00FA31B6
Ако последния B6 байт е чексума, то 31 трябва да е самия конфиг и той указва външен кварц. Може и да бъркам де.
|
Чет Дек 19, 2019 7:07 am |
|
|
didofen
Ранг: Популярен
Регистриран на: Вто Юни 27, 2006 10:13 am Мнения: 377 Местоположение: Варна
|
Re: PIC12F509 - написах код ама работи само на симулация
за С509 конфига е само през програматор, за Ф взема и от хекса. А след запис чел ли си си го веднага да видиш каква конфигурация ти дава? а по отношение на ТРИСа , в работния се слага стойността (0В) и после е ТРИС 0х06, задава се адрес а не стойност
Последна промяна didofen на Чет Дек 19, 2019 10:13 am, променена общо 1 път
|
Чет Дек 19, 2019 9:07 am |
|
|
stefan63
Ранг: Форумен бог
Регистриран на: Вто Фев 07, 2012 10:22 pm Мнения: 3082
|
Re: PIC12F509 - написах код ама работи само на симулация
Най-вероятно горният ми пост е грешен, опитах се да си припомня нешата около кодирането на конфига в хекса,,,ама не успях, затрил съм нещата.
:021FFE00FA31B6
0x31FA би трябвало да е конф.дума, последното А задава вътр.осцилатор. Тази тройка какво прави там, не ми е ясно, Гледам някакъв мой хекс - :021FFE00E60FEC Думата според МПЛАБА е 0xfe6 в хекса влиза от сорса.
При тебе идва май от #if defined(_12F509) __CONFIG(0x31FA); #endif
Пробвай #if defined(_12F509) __CONFIG(0xFFA); #endif
|
Чет Дек 19, 2019 9:28 am |
|
|
Ванко
Ранг: Минаващ
Регистриран на: Вто Дек 17, 2019 5:51 pm Мнения: 13
|
Re: PIC12F509 - написах код ама работи само на симулация
Благодаря за отговорите. След флашване винаги пробвам на експериментално шаси! За CONFIG - отразява се веднага на яве в чипа, а програматора ги показва, за TRIS не знам къде в HEX-а го слага да го видя в редактора към програматора. Дал съм всички файлове и снимки от симулация в първия пост. stefan63 задал съм в програмата __CONFIG(0x 31EA) програматора го вижда като 0x 01EA, но и при зададен __CONFIG(0x 01EA) пак не се променя крайния ефект в чипа, а програматора си го вижда все 0x 01EA което в случая е IntOSC, CP=OFF, WDT=OFF, MCLR=INT, ако променя __CONFIG(0x31 ЕA) на __CONFIG(0x31 FA) прави MCLR=EXT, като само 1FA и 1EA (трите букви) играят роля при настройка. Да това е конфигурационната дума и работи отлично понеже ефекта се вижда на реалния чип, ако я няма в кода, програматора мрънка, че я нама в HEX-a, и ако пренебрегна това - записва настройки по-подразбиране ако не ги бутна от него, а ако думата я има в кода - всичко е наред. Ако някой знае как да реализирам на този чип - функцията, която търся под какъвто и да е код, ако ще и на занзибарски да е, ще ме зарадва много. Аз повече от седмица дълбая в този код и пробвам всякакви чудеса, без някаква реакция у 12-ката - то краката ѝ омекнаха от местене. Кода изначало беше на 16F628/648 без забележка та и с него имаше зор няколко дена ама там сам се оправих, каквото му кажа, това излизаше.
|
Чет Дек 19, 2019 1:47 pm |
|
|
itso.t
Ранг: Форумен бог
Регистриран на: Чет Фев 03, 2005 1:21 am Мнения: 10622 Местоположение: София
|
Re: PIC12F509 - написах код ама работи само на симулация
А пробвал ли си дали прословутото blink.c работи?
|
Чет Дек 19, 2019 2:10 pm |
|
|
stefan63
Ранг: Форумен бог
Регистриран на: Вто Фев 07, 2012 10:22 pm Мнения: 3082
|
Re: PIC12F509 - написах код ама работи само на симулация
Абе пробвай да зададеш 0xFFA, като си нагодиш бита за MCLR, Според даташийта има само 5 бита, ама ти нулираш някакви уж несъществуващи над бит4 - и твърдиш , че програматора ги чете корекно нулирани. Поне аз това разбрах. И ако има някаква мъгла около тия битове...
С какво програмираш ? Пикит3?
|
Чет Дек 19, 2019 2:17 pm |
|
|
Ванко
Ранг: Минаващ
Регистриран на: Вто Дек 17, 2019 5:51 pm Мнения: 13
|
Re: PIC12F509 - написах код ама работи само на симулация
Пробвах, с GPIObits.GP0=1; и с GP0=1; да видя дали ще мръдне изобщо и даже писах - няма реакция! stefan63 0xF FA става 0xF ЕA като махна резето. приема го и го флашва, ама пак нищо не се появява в изходите пък резето се включва и изключва. Да, с PicKit3 и с оригиналната му програмка v3.10 (не през МPLAB-a) - всичко що е PIC така си го флашвам. Тука в този архив намерих как един руснак си е играл на Асемблер и е подкарал този чип - да за друго е, но може да помогне:
|
Чет Дек 19, 2019 3:15 pm |
|
|
Cekins
Ранг: Форумен бог
Регистриран на: Сря Апр 20, 2005 11:02 am Мнения: 8902 Местоположение: Разград
|
Re: PIC12F509 - написах код ама работи само на симулация
Е то и аз съм го подкарвал... преди 10 години май за последно... В такива случаи като твоя се прави програма дето няма нищо в нея, само да вдигне един порт и да спре. Това имаше предвид Ицо под блинк.ц. Ако и това не стане е продължаваш да ровиш. Ама да загубиш две седмици да го правиш това си е чиста проба мазохизъм. Казах ти вече, че е овъркил да ползваш индекс в това чипче. Когато имаш call-ове извън текущата страница се сетва един регистър, който определя в коя страница точно отиваш. После имаш само 4 нива на ретърн стека (628 е с 8 ) - сигурен ли си че с тази програма за "компютър" не преминаваш границите на способностите му? Още в началото казах че 509 НЕ Е компютър... А това че протеуса го симулира - той и за 4-те нива на стека също не знае.
|
Чет Дек 19, 2019 3:39 pm |
|
|
didofen
Ранг: Популярен
Регистриран на: Вто Юни 27, 2006 10:13 am Мнения: 377 Местоположение: Варна
|
Re: PIC12F509 - написах код ама работи само на симулация
ето един асм и хекс
|
Чет Дек 19, 2019 3:46 pm |
|
|
Ванко
Ранг: Минаващ
Регистриран на: Вто Дек 17, 2019 5:51 pm Мнения: 13
|
Re: PIC12F509 - написах код ама работи само на симулация
Това ми казва, че е с CodeProtect ... За малко да го пльосна в чипа и да приключи всичко! В протеуса нищо не прави. Не че не съм индианец ама този асемблер съвсем като кръгъл камък го гледам! Cekins ами аз и това пробвах ... и писах ... и OPTION въртях дори една 1-чка не се показа на GP0, А протеуса симулира кода на руснака - значи не е там проблема! Аз си мисля, че целия проблем идва от смотания МPLAB и HiTechC в него - иска всичко да му нарежеш, наготвиш, сервираш и сдъвчиш, а информация и помощ няма никаква никъде - един дявол знае как са му командите за GPIO портовете побитово. На MikroC PIC никога съм нямал проблеми! В даташита (дал съм го в по-горен пост) пише, че в 12F509 командата GPIO действа като PORTB и се отнася за младшите 6 бита като останалите 2 от 8 нямат значение и при четене връщат винаги 0, а аз пиша само най-младшите 2 в STEPS_MAP. Отделно от това пробвах да инициализирам GPIO по модел на TRIS и като 0 и като 1. Аз проблем знам, че имам, въпроса е как да го реша?! CONFIG-a е ясен как е, TRIS също, остава OPTION и GPx заедно с GPIO ... ако това тръгне - ако трябва ще му казвам по отделно -> отвори/затвори, чакай и т.н.
|
Чет Дек 19, 2019 4:37 pm |
|
|
didofen
Ранг: Популярен
Регистриран на: Вто Юни 27, 2006 10:13 am Мнения: 377 Местоположение: Варна
|
Re: PIC12F509 - написах код ама работи само на симулация
не разбрах какво имаш предвид под да приключи всичко, извинявай!
|
Чет Дек 19, 2019 5:09 pm |
|
|
Кой е на линия |
Потребители разглеждащи този форум: Desert Leo и 6 госта |
|
Вие не можете да пускате нови теми Вие не можете да отговаряте на теми Вие не можете да променяте собственото си мнение Вие не можете да изтривате собствените си мнения Вие не можете да прикачвате файл
|
|