Микроконтролери и електроника
http://mcu-bg.com/mcu_site/

Бъгове или грешка ... почвам хардуерно
http://mcu-bg.com/mcu_site/viewtopic.php?f=7&t=4624
Страница 1 от 1

Автор:  m.g.a [ Съб Авг 11, 2007 8:06 pm ]
Заглавие:  Бъгове или грешка ... почвам хардуерно

Здравейте на всички ..занимавам се от скоро с микроконтролери и едно нещо ме озадачава ,ето тука едно малко кодче което компилирам през протон

Device 16F628A
XTAL 4
Dim T1 As BYTE

MAIN:

CMCON = 7
TRISA = 1
TRISB = 0

Inc T1

If T1 > 0 Then PORTB.3 = 1
DelayMS 10
PORTB.3 = 0
DelayMS 10
T1 = 0

GoTo MAIN
End.

въпросът ми е защо след като променливата Т1 очевидно нараства с еденица и Ифа трябва да сработи това не става.Изкам да направя брояч и когато трябва да сравня стойноста му със константа и да сработи някакъв ИФ нищо не се получава

нямам опит със програмите и се чудя дали нее някакъв бъг или нещо не съм настроил,тествам със Протеус 7.1

Знам че въпроса изглежда като за някой гадател но незнам как да попитам друго яче ... изчето маса документация и би трябвало всичко да работи но вече не знам какво да чета или гледам

Автор:  m.g.a [ Съб Авг 11, 2007 11:16 pm ]
Заглавие: 

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

Прикачени файлове:
greshka.JPG
greshka.JPG [ 230.57 KiB | Прегледано 1340 пъти ]

Автор:  elektronchika [ Съб Авг 11, 2007 11:22 pm ]
Заглавие: 

аз съм моя скромен опит в програмирането бих казал:

1. GoTo MAIN - няма смисъл пак да изключаш АЦП-то и да инициализираш потровете. Просто е безмислено. Трябва да отиваш директно на IF-a.

2. Защо мислеш че Т1 се увеличава всеки цикъл? Т1=0? Не трябва да ли бъде нещо от сорта на Т1=Т1+1?

ПС - и преди IF-а кажи Т1=1 или в IF-a Т1>=0.

Според мен трябва да е така:
...
Inc T1
T1=1

IF1:
If T1 > 0 Then PORTB.3 = 1
DelayMS 10
PORTB.3 = 0
DelayMS 10
T1 = T1+1

GoTo IF1
...

Автор:  m.g.a [ Съб Авг 11, 2007 11:30 pm ]
Заглавие: 

elektronchik прав си но и така би трябвало да работи според мен.... може и да греша сега ще пробвам и твойто кодче... има ли някакви шашми за вътрешния генератор да се прави като се връзва контролера ...

горния проблем е от захранващото напрежение , вързах му един акомулатор и сега няма проблем

Автор:  elektronchika [ Нед Авг 12, 2007 1:12 pm ]
Заглавие: 

не съм се занимавал с Протон и не знам как се настройва осцилатора какъв тип да е. Прочети help-a. :)

Автор:  Cekins [ Нед Авг 12, 2007 5:59 pm ]
Заглавие: 

Пробвай да сложиш endif там където искаш да ти свърше if-a. Така както е написано иф-а ще направи само портб.3=1. Освен това за напред да знаеш, че този компилатор не нулира "физически" клетката която си дефинирал към променливата. Трябва да се направи ръчно. Примерно преди Main трябва да има T1=0. И все пак не знам защо но така както е написан кода при мен си работи.

Автор:  m.g.a [ Пон Авг 13, 2007 10:57 am ]
Заглавие: 

Cekins написа:
Пробвай да сложиш endif там където искаш да ти свърше if-a. Така както е написано иф-а ще направи само портб.3=1. Освен това за напред да знаеш, че този компилатор не нулира "физически" клетката която си дефинирал към променливата. Трябва да се направи ръчно. Примерно преди Main трябва да има T1=0. И все пак не знам защо но така както е написан кода при мен си работи.


Пробвах по всякакви начини но щом сложа някакъв израз от сорта на а>б и умира ... и ако наистина не нулира променливите ... това може и да е проблема.Ще пробвам като се върна от работа .. съмнява ме че кракнатия компилатор изпуска по някоя инструкция както пишат някои хора по форумите .Например на микроелектроника бейсика като го пачна и после като дебъгвам кодче със един цикъл и гледам че почва да цикли малко след loop-a там където няма ни условие ни дявол което си е :rolleyes:... мисля да захвана CSS C стига да има наистина работещ такъв :?

Автор:  milenjs [ Пон Авг 13, 2007 6:56 pm ]
Заглавие: 

Как да не работи??? Ами кажи нещо повече де - с какъв симулатор го пробваш, какво точно не работи. Лично аз го пробвах от чисто любопитство и сантиментални спомени - копи - пасте от твоя пост в Протона - компилиране и тест в Протеуса и ... работи ;)
Ето ти и резултата от компилацията ако се съмняваш в компилатора!

Прикачени файлове:
test.rar [11.08 KiB]
160 пъти

Автор:  m.g.a [ Пон Авг 13, 2007 7:58 pm ]
Заглавие: 

написах го на proton 3 свалих го от sonsivri тествам с протеус 7.1 ...би трябвало да мига но при мене не помръдва от към код трябва да работи но от към настройка на протеуса или от скапан компилатор това ще установя ... сега с твоя фаил ще се види дали компилатора е зле...

а мога ли да сравня асемблерския файл за разлики , дали ще си проличи ако има проблеми ...






П.П. Пробвах го файла и работи .. значи скапания компилатор е бъгав ...

може ли някой да даде работещ протон...

Автор:  milenjs [ Пон Авг 13, 2007 9:39 pm ]
Заглавие: 

Няма да е от компилатор, няма да е от симулатора, по-добре чети добре описанието на симулатора и как се работи с него. Зареждаш ли въобще файла в процесора при симулацията? Осцилатор задал ли си? ASM-то може да го ползваш за сравнение да видиш какво е надробило, пуснал съм компилация без оптимизации, така че трябва да е като твоя асм...

Автор:  m.g.a [ Пон Авг 13, 2007 9:43 pm ]
Заглавие: 

milenjs прочетох как да го симулирам и от два дена ми ври главата от разни документи но ето че твоя файл работи , сега ще поразгледам асемблера да видя какво липсва. Благодарско за съдействието..

Ето и сравнението и разбирасе разликите са очевидни ...един ред е преди друг ,липсват някои нещица въобще мазало

Прикачени файлове:
sravnenie.JPG
sravnenie.JPG [ 233.37 KiB | Прегледано 1346 пъти ]

Страница 1 от 1 Часовете са според зоната UTC + 2 часа [ DST ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/