| Автор |
Съобщение |
|
mitko_el
Ранг: Форумен бог
Регистриран на: Вто Яну 24, 2006 6:34 pm Мнения: 1753 Местоположение: Варна
|
 Re: PIC16f628A програма
Обикновенно постовете на Тони са доста обективни... 
_________________ За пари сичко праим,даже и работим...
|
| Нед Мар 09, 2014 5:20 pm |
|
 |
|
Cekins
Ранг: Форумен бог
Регистриран на: Сря Апр 20, 2005 12:02 pm Мнения: 9119 Местоположение: Разград
|
 Re: PIC16f628A програма
@rikotech - без да се засягаш ама аргументите ти щяха да са =true ако микроконтролер от типа PIC16F628 беше = на PC с I7 и 16 гиги рам - ама не са. Циклене на едно място в контролер е голяма тъпотия, ама ти явно никога не си писал за контролер. Та аргументите на Тони са си обективни, както каза колегата:)
|
| Нед Мар 09, 2014 6:51 pm |
|
 |
|
stoyanoff
Ранг: Форумен бог
Регистриран на: Чет Юни 25, 2009 1:01 pm Мнения: 2251
|
 Re: PIC16f628A програма
Това с тези if-ове изобщо не ми харесват. Не сме в каменната ера. Контролерите вече не са Motorolla 68XX! Мен ако питате доста по-нагледно ще стане ако се направи една state машина! И малко качествен код няма да навреди! Поздрави!
_________________www.elkran.com
|
| Нед Мар 09, 2014 9:53 pm |
|
 |
|
rikotech
Ранг: Минаващ
Регистриран на: Пон Авг 15, 2011 5:37 pm Мнения: 12
|
 Re: PIC16f628A програма
Това за което говорите се нарича Cooperative Multitasking. Момчето казва че тепърва се запознава с програмирането. Вместо да му разправяте че не е прав, може да го насочите, или поне да се аргументирате. Програмата която maguscho реализира не изисква много RAM/Program memory. Така че има предостатъчно за още 20 цикъла и пак няма да има проблем. Според мен не е добре да забъркваш първокласник с неопределени интеграли. Иначе съм съгласен с вас, може да стане и по-пестеливо.
|
| Нед Мар 09, 2014 10:04 pm |
|
 |
|
stoyanoff
Ранг: Форумен бог
Регистриран на: Чет Юни 25, 2009 1:01 pm Мнения: 2251
|
 Re: PIC16f628A програма
Извинявам се! Не съм довидял! Решението, което е предложил vilioman мисля, че е най-удачно в случая! Друг интересен подход, който авторът може да разгледа, е употребата на прекъсване. НО има само един пин(B0), който генерира собствено прекъсване! Би трябвало да съществува вектор, който да генерира прекъсване при промяна на целия порт Б! Не мисля, че на този етап трябва да се задълбава повече. Относно качеството на кода, мога да посъветвам автора да започне да използва по-точни имена за променливите. От името на променливата, човек трябва лесно да се досеща какво прави. Това помага, когато се пишат по-големи програми. Поздрави!
_________________www.elkran.com
Последна промяна stoyanoff на Нед Мар 09, 2014 10:58 pm, променена общо 1 път
|
| Нед Мар 09, 2014 10:50 pm |
|
 |
|
Vesko
Ранг: Популярен
Регистриран на: Пон Мар 22, 2010 8:52 pm Мнения: 328
|
 Re: PIC16f628A програма
Само прекъсване по промяна за вход, на който има механичен бутон, май не стига.
|
| Нед Мар 09, 2014 10:57 pm |
|
 |
|
ToHu
Ранг: Форумен бог
Регистриран на: Нед Сеп 26, 2004 9:21 pm Мнения: 30685 Местоположение: София
|
 Re: PIC16f628A програма
ами той къде ще отиде е съвсем ясно, въпроса е какво ще се случи в реалният свят тъй като избщо не е ясно какво прави това устройство. А while цикъла си има съвсем конкретно приложение и то според мен съвсем не е да зациклиш на един вход и да чакаш нещо да се промени. На който му е кеф да слага проверка на входове в while ... ако това прави и още нещо може да си стоиш в тоя цикъл и да утепеш човек щото някой просто не е предивдил че може да се скъса да речем кабела на датчика и да си влезеш там и никога да не излезеш .... ама както и да е. Писането за хардуер не е като писането за софтуер, жалко че много хора изобщо не правят разлика.
|
| Нед Мар 09, 2014 11:13 pm |
|
 |
|
Vesko
Ранг: Популярен
Регистриран на: Пон Мар 22, 2010 8:52 pm Мнения: 328
|
 Re: PIC16f628A програма
Вероятно за това по моловете няма авариен стоп по асансьорите.... то и без това програмистите не знаят къде да го обработят 
|
| Пон Мар 10, 2014 12:03 am |
|
 |
|
ToHu
Ранг: Форумен бог
Регистриран на: Нед Сеп 26, 2004 9:21 pm Мнения: 30685 Местоположение: София
|
 Re: PIC16f628A програма
Абе остави асансьорите, иди да видиш какво става като натиснат стопа на ескалаторите  ... иначе забележката ми беше съвсем умишлена, виждал съм какви ли не неща, много често бъгове които не са бъгове, само дето за програмиста всичко е идеално, но в релания живот никога не е така. Е те такъв програмист е писал ABS на бош, ако някой кара нова немска кола от класът на поло, т.е. без много екстри, сигурно е забелязал че веднъж сработил ABS не се изключва докато не се отпусне педала, което е тотална простотия. p.s. rikotech ей сега докато мислех нещо съвсем друго ми изплува защо ми светна една лампичка като четох поста ти по отношение какво става след ресет на WDT-то. Обикновенно освен че те води на точно определено място, има един регистър който казва кава е причината за ресета, та сега си спомяням че преди години, то май вече 10, имах проблем точно с тоя регистър, не мога да се сеят вече в какъв случай, но не пишеше вярно причината за рестарт, процесора беше 16F877 .. дори тук някъде трябва да стои тема по въпроса, ако има толкава стари. Да проверяваш защо си се ресетнал не е лоша идея, понякога може да е от помощ за такива "случайни" рестарти ... стига обаче да работи коректно.
|
| Пон Мар 10, 2014 12:35 am |
|
 |
|
Cekins
Ранг: Форумен бог
Регистриран на: Сря Апр 20, 2005 12:02 pm Мнения: 9119 Местоположение: Разград
|
 Re: PIC16f628A програма
Абе работи регистъра (на 877 не знам как е де) ама тва си е ебаси секса - такива неща съвсем за в краен случай могат да се позлват. Не ти казва къде точно е спрял - единствено може да се прескочи инициализацията евентуално ако не е ПОР ами е WDT... при BOR няма гаранция че паметта не се е оакала, макар че досега когато съм си правил експерименти си се запазва ако е имало глич в захранването и се резетне от BOR
|
| Пон Мар 10, 2014 10:56 am |
|
 |
|
Vesko
Ранг: Популярен
Регистриран на: Пон Мар 22, 2010 8:52 pm Мнения: 328
|
 Re: PIC16f628A програма
Какво става, че ми е интересно? (ама съм нямал смелост да натисна стопа на работещ ескалатор) 
|
| Пон Мар 10, 2014 11:26 am |
|
 |
|
stoyanoff
Ранг: Форумен бог
Регистриран на: Чет Юни 25, 2009 1:01 pm Мнения: 2251
|
 Re: PIC16f628A програма
Не може асансьор да няма авариен стоп! Това не знам как са го допуснали инспекторите! Аз, където съм влизал, има...
_________________www.elkran.com
|
| Пон Мар 10, 2014 2:24 pm |
|
 |
|
ToHu
Ранг: Форумен бог
Регистриран на: Нед Сеп 26, 2004 9:21 pm Мнения: 30685 Местоположение: София
|
 Re: PIC16f628A програма
Е той бутон има .... или поне тия които аз съм виждал, въпроса е че е изключен  А иначе за мола .. настава една паника и 2 часа не могат да си пуснат ескалатора ... За 877, ами при мен проблема беше точно с BOR, там не се записваше точно каква е причината, съответно аз възстановявах до някакво положение, но често беше омазана. Това при тестовете де, т.е. аз нарочно го омазвах по захранване за да видя дали всичко е наред.
|
| Пон Мар 10, 2014 5:02 pm |
|
 |
|
Cekins
Ранг: Форумен бог
Регистриран на: Сря Апр 20, 2005 12:02 pm Мнения: 9119 Местоположение: Разград
|
 Re: PIC16f628A програма
То там малко странно по принцип - те сега и на 18-ките е мацаница - трябва да провериш не само BOR бита ами и POR и май още някви други за да разбереш че е било квото си мислиш че е било. И не само това... Аз там в него раздел на даташита колко съм се пулил докато разгадая как да го хващам ...
|
| Пон Мар 10, 2014 7:59 pm |
|
 |
|
Vesko
Ранг: Популярен
Регистриран на: Пон Мар 22, 2010 8:52 pm Мнения: 328
|
 Re: PIC16f628A програма
Гледам, гледам и не виждам.... е не е в мол, а в блок и преди малко се возих на него.
|
| Пон Мар 10, 2014 9:22 pm |
|
|