|
Виж темите без отговор | Виж активните теми
Дата и час: Пон Юли 27, 2026 10:06 am
pic 12F509 реализиране импулс със закъснение
| Автор |
Съобщение |
|
sheki
Ранг: Минаващ
Регистриран на: Съб Май 06, 2006 7:16 pm Мнения: 21 Местоположение: Златоград
|
 pic 12F509 реализиране импулс със закъснение
Здравейте, трябва ми помощ за малко код, за следния казус при входен сигнал на GP0 логическа единица и задържането му за 2 сек. да изработи изходен сигнал лог единица на GP1 с продължителност 3 секунди, след отпадане към логическа нула на GP0 и оставането на това ниво след 2 секунди, отново да се генерира изходен сигнал логическа единица за 3 секунди. Тоест след всяка смяна на сигнала на GP0 за повече от 2 сек. ,на изхода GP1 да се генерира положителен импулс 3 секунди. имам следния код но не иска да се компилира в мплаб дава грешки от сорта на main.c:23:3: error: use of undeclared identifier 'TRISGbits' ,иначе мплаб работи и компилира други сорсове.
_________________ ПРОСТО И ЛЕСНО !
|
| Чет Окт 26, 2023 10:29 pm |
|
 |
|
Gogo
Ранг: Форумен бог
Регистриран на: Чет Фев 24, 2005 11:41 pm Мнения: 1049 Местоположение: Pz
|
 Re: pic 12F509 реализиране импулс със закъснение
|
| Пет Окт 27, 2023 9:03 am |
|
 |
|
sheki
Ранг: Минаващ
Регистриран на: Съб Май 06, 2006 7:16 pm Мнения: 21 Местоположение: Златоград
|
 Re: pic 12F509 реализиране импулс със закъснение
Здрасти Гого благодаря за отговора, вече не дава тази грешка но има други
_________________ ПРОСТО И ЛЕСНО !
|
| Нед Окт 29, 2023 7:06 pm |
|
 |
|
ToHu
Ранг: Форумен бог
Регистриран на: Нед Сеп 26, 2004 9:21 pm Мнения: 30684 Местоположение: София
|
 Re: pic 12F509 реализиране импулс със закъснение
Това е MPLAB ли го пише ? Погледнал ли си дали имаш дефиниции на PORTGbits. Не знам в мпла-ба какво са дефинирали, и дали операторите рабоитят с битови променливи, но и в CCS и в Keil това което правиш би трябвало да се дефинира като битова променлива : #define RG0 0 #define PORTGbits 0x06 - тоя чип няма порт G, 0.06 е на порт B
bit IN_PORT PORTGbits.RG0
И тук вече работиш с битове, може да имаш if(IN_PORT), или директно да го манипулираш IN_PORT = 1. Но освен всички друго алгоритъма на това което си написал не е ОК, така както си го написал в момента в който IN_PORT стане 1-ца ти ще вдигнеш изхода в 1, ще чакаш 2 сек, след това ще го свашил в 0 и ще чакаш още 3 сек ... но за начало си оправи дефинициите и декларациите после може да коментираме алгоритъма.
|
| Нед Окт 29, 2023 8:21 pm |
|
 |
|
tolstolob
Ранг: Ориентиран
Регистриран на: Вто Фев 06, 2007 2:45 am Мнения: 263
|
 Re: pic 12F509 реализиране импулс със закъснение
|
| Пон Окт 30, 2023 5:36 pm |
|
 |
|
ToHu
Ранг: Форумен бог
Регистриран на: Нед Сеп 26, 2004 9:21 pm Мнения: 30684 Местоположение: София
|
 Re: pic 12F509 реализиране импулс със закъснение
Еее що така .. това на задачка ми прилича, като го дадеш наготово няма много ефект, а човека се опитваше сам да го направи, всеки тук можеше да му напише кода.
|
| Пон Окт 30, 2023 5:58 pm |
|
 |
|
tolstolob
Ранг: Ориентиран
Регистриран на: Вто Фев 06, 2007 2:45 am Мнения: 263
|
 Re: pic 12F509 реализиране импулс със закъснение
Абе не е съвсем на тепсия. Логиката не е коректна (умишлено), само се комилира.
|
| Пон Окт 30, 2023 6:04 pm |
|
 |
|
ToHu
Ранг: Форумен бог
Регистриран на: Нед Сеп 26, 2004 9:21 pm Мнения: 30684 Местоположение: София
|
 Re: pic 12F509 реализиране импулс със закъснение
ОК, създаваш му лоши практики с тоя delay_ms(3000)  то и онези 10 ms са малко безмислени, но за него да речем е приемливо зло с цел опростяване, но като ще му покаваме на човека, и това не е лошо да му се покажем как се прави по друг начин. Да видим до къде ще го докара.
|
| Пон Окт 30, 2023 6:11 pm |
|
 |
|
tolstolob
Ранг: Ориентиран
Регистриран на: Вто Фев 06, 2007 2:45 am Мнения: 263
|
 Re: pic 12F509 реализиране импулс със закъснение
Е то тук не е училище, че да да учим някого на практики  . Пък и питащия не прилича на студент; мисля че му трябва за реална дрънкулка.
|
| Вто Окт 31, 2023 3:47 pm |
|
 |
|
sheki
Ранг: Минаващ
Регистриран на: Съб Май 06, 2006 7:16 pm Мнения: 21 Местоположение: Златоград
|
 Re: pic 12F509 реализиране импулс със закъснение
Здрасти, само да вметна че си прав за практическото приложение , ще взема да стана пишман че не си измислих схемата с 555  а реших да ползвам PIC , но вече е късно и платката съм налепил ама пустия код ме забави. Относно кода последния компилирах го , пуснах го за симулация на протеус и забелязах че още със стартирането GP1 е с лог. 1 , а не трябва , програмирах чипа пуснах и платката и там е същото , няма никаква реакция при промяна на GP0. Не че му вдявам ама къде в сорса е описано какво е началното състояние на изхода, ако по дефолт е 0 защо ми го вдига на 1?
_________________ ПРОСТО И ЛЕСНО !
|
| Сря Ное 01, 2023 7:18 pm |
|
 |
|
TheWizard
Ранг: Форумен бог
Регистриран на: Сря Апр 27, 2005 12:48 pm Мнения: 6094
|
 Re: pic 12F509 реализиране импулс със закъснение
_________________ main[-1u]={1};
|
| Сря Ное 01, 2023 7:43 pm |
|
 |
|
ToHu
Ранг: Форумен бог
Регистриран на: Нед Сеп 26, 2004 9:21 pm Мнения: 30684 Местоположение: София
|
 Re: pic 12F509 реализиране импулс със закъснение
Задължително при стартиране трябва да си инициализираш всички портове, регистри които могат да влияят на приложението ти, както и променливи, приеми че всичко това е рандом, въпреки, че някои от тях имат дефаултни стойности. П.с. не съжалявай, това е голяма стъпка и ще ти даде свобода която иначе нямаш.
|
| Сря Ное 01, 2023 9:11 pm |
|
 |
|
tolstolob
Ранг: Ориентиран
Регистриран на: Вто Фев 06, 2007 2:45 am Мнения: 263
|
 Re: pic 12F509 реализиране импулс със закъснение
Ми да, едно от неочевидните неща при 8-битовите пикове, които и аз почти всеки път забравям, са фюзовете (configuration bits). Никой не ги е сетнал, а по дефолт са сетнати на външен осцилатор и GP3 е външен ресет. Значи трябва да е нещо такова: Ако по някаква причина фюзовете пак не са както трябва (въпреки че 'прагмите' в кода трябва да хванат дикиш), сетни ги на ръка от МПЛАБ-а преди да флашнеш (menu strip -> Window -> Target memory views -> Configuration bits)
|
| Сря Ное 01, 2023 9:53 pm |
|
 |
|
ToHu
Ранг: Форумен бог
Регистриран на: Нед Сеп 26, 2004 9:21 pm Мнения: 30684 Местоположение: София
|
 Re: pic 12F509 реализиране импулс със закъснение
според мен не само при пик, но и при всичко със що годе обозрими регистри, не е никак лоша идея да се сетнат, дори да имат ясно дефаултно състояние, ако не всички то поне тия свързани с всичко използвано.
|
| Чет Ное 02, 2023 4:11 am |
|
 |
|
itso.t
Ранг: Форумен бог
Регистриран на: Чет Фев 03, 2005 2:21 am Мнения: 12765 Местоположение: София
|
 Re: pic 12F509 реализиране импулс със закъснение
Идеята е добра, но не винаги е приложима. Преди време, може би на пик10ф200 при подобна заигравка и няколко реда код компилотора се размрънка, че бил свършил флаша...
|
| Чет Ное 02, 2023 11:10 am |
|
|
Кой е на линия |
Потребители разглеждащи този форум: 0 регистрирани и 1 госта |
|
Вие не можете да пускате нови теми Вие не можете да отговаряте на теми Вие не можете да променяте собственото си мнение Вие не можете да изтривате собствените си мнения Вие не можете да прикачвате файл
|
|