| Автор |
Съобщение |
|
m.g.a
Ранг: Минаващ
Регистриран на: Съб Авг 11, 2007 7:49 pm Мнения: 8 Местоположение: sofia
|
 Бъгове или грешка ... почвам хардуерно
Здравейте на всички ..занимавам се от скоро с микроконтролери и едно нещо ме озадачава ,ето тука едно малко кодче което компилирам през протон
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
Знам че въпроса изглежда като за някой гадател но незнам как да попитам друго яче ... изчето маса документация и би трябвало всичко да работи но вече не знам какво да чета или гледам
|
| Съб Авг 11, 2007 8:06 pm |
|
 |
|
m.g.a
Ранг: Минаващ
Регистриран на: Съб Авг 11, 2007 7:49 pm Мнения: 8 Местоположение: sofia
|
съмнявам се в тия софтуерни симулатори .. вързах picpro2 програматор към паралелния порт чете контролера със winpic800 но като почне да записва дава грешка.... попаднах само на един италчнски сайт и там горе долу можах да хвана че е във програматора проблема или по скоро във захранващото напрежение ... но незнам със сигурност
|
| Съб Авг 11, 2007 11:16 pm |
|
 |
|
elektronchika
Ранг: Популярен
Регистриран на: Пет Ное 26, 2004 9:50 pm Мнения: 374
|
аз съм моя скромен опит в програмирането бих казал:
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
...
|
| Съб Авг 11, 2007 11:22 pm |
|
 |
|
m.g.a
Ранг: Минаващ
Регистриран на: Съб Авг 11, 2007 7:49 pm Мнения: 8 Местоположение: sofia
|
elektronchik прав си но и така би трябвало да работи според мен.... може и да греша сега ще пробвам и твойто кодче... има ли някакви шашми за вътрешния генератор да се прави като се връзва контролера ...
горния проблем е от захранващото напрежение , вързах му един акомулатор и сега няма проблем
|
| Съб Авг 11, 2007 11:30 pm |
|
 |
|
elektronchika
Ранг: Популярен
Регистриран на: Пет Ное 26, 2004 9:50 pm Мнения: 374
|
не съм се занимавал с Протон и не знам как се настройва осцилатора какъв тип да е. Прочети help-a. 
|
| Нед Авг 12, 2007 1:12 pm |
|
 |
|
Cekins
Ранг: Форумен бог
Регистриран на: Сря Апр 20, 2005 12:02 pm Мнения: 9119 Местоположение: Разград
|
Пробвай да сложиш endif там където искаш да ти свърше if-a. Така както е написано иф-а ще направи само портб.3=1. Освен това за напред да знаеш, че този компилатор не нулира "физически" клетката която си дефинирал към променливата. Трябва да се направи ръчно. Примерно преди Main трябва да има T1=0. И все пак не знам защо но така както е написан кода при мен си работи.
|
| Нед Авг 12, 2007 5:59 pm |
|
 |
|
m.g.a
Ранг: Минаващ
Регистриран на: Съб Авг 11, 2007 7:49 pm Мнения: 8 Местоположение: sofia
|
Пробвах по всякакви начини но щом сложа някакъв израз от сорта на а>б и умира ... и ако наистина не нулира променливите ... това може и да е проблема.Ще пробвам като се върна от работа .. съмнява ме че кракнатия компилатор изпуска по някоя инструкция както пишат някои хора по форумите .Например на микроелектроника бейсика като го пачна и после като дебъгвам кодче със един цикъл и гледам че почва да цикли малко след loop-a там където няма ни условие ни дявол което си е  ... мисля да захвана CSS C стига да има наистина работещ такъв 
|
| Пон Авг 13, 2007 10:57 am |
|
 |
|
milenjs
Ранг: Форумен бог
Регистриран на: Сря Мар 08, 2006 2:12 pm Мнения: 2017 Местоположение: Котел
|
Как да не работи??? Ами кажи нещо повече де - с какъв симулатор го пробваш, какво точно не работи. Лично аз го пробвах от чисто любопитство и сантиментални спомени - копи - пасте от твоя пост в Протона - компилиране и тест в Протеуса и ... работи
Ето ти и резултата от компилацията ако се съмняваш в компилатора!
|
| Пон Авг 13, 2007 6:56 pm |
|
 |
|
m.g.a
Ранг: Минаващ
Регистриран на: Съб Авг 11, 2007 7:49 pm Мнения: 8 Местоположение: sofia
|
написах го на proton 3 свалих го от sonsivri тествам с протеус 7.1 ...би трябвало да мига но при мене не помръдва от към код трябва да работи но от към настройка на протеуса или от скапан компилатор това ще установя ... сега с твоя фаил ще се види дали компилатора е зле...
а мога ли да сравня асемблерския файл за разлики , дали ще си проличи ако има проблеми ...
П.П. Пробвах го файла и работи .. значи скапания компилатор е бъгав ...
може ли някой да даде работещ протон...
Последна промяна m.g.a на Пон Авг 13, 2007 9:39 pm, променена общо 1 път
|
| Пон Авг 13, 2007 7:58 pm |
|
 |
|
milenjs
Ранг: Форумен бог
Регистриран на: Сря Мар 08, 2006 2:12 pm Мнения: 2017 Местоположение: Котел
|
Няма да е от компилатор, няма да е от симулатора, по-добре чети добре описанието на симулатора и как се работи с него. Зареждаш ли въобще файла в процесора при симулацията? Осцилатор задал ли си? ASM-то може да го ползваш за сравнение да видиш какво е надробило, пуснал съм компилация без оптимизации, така че трябва да е като твоя асм...
|
| Пон Авг 13, 2007 9:39 pm |
|
 |
|
m.g.a
Ранг: Минаващ
Регистриран на: Съб Авг 11, 2007 7:49 pm Мнения: 8 Местоположение: sofia
|
milenjs прочетох как да го симулирам и от два дена ми ври главата от разни документи но ето че твоя файл работи , сега ще поразгледам асемблера да видя какво липсва. Благодарско за съдействието..
Ето и сравнението и разбирасе разликите са очевидни ...един ред е преди друг ,липсват някои нещица въобще мазало
|
| Пон Авг 13, 2007 9:43 pm |
|
|