| Автор |
Съобщение |
|
mash
Ранг: Новодошъл
Регистриран на: Пет Окт 27, 2006 6:23 pm Мнения: 162 Местоположение: Севлиево
|
Не !
Изключих всичко и оставих един гол пик с един диод на А1 и си направих един цикъл да мига диода, но не !
Вероятно немога да конфигурирам правилно порт_а.
От там идва проблема...
Бихте ли ми помогнали, защото с 16F877A нямам никакви проблеми. Работи си всичко без специални настройки.
А с този 12F675.... Аз и на асемблер трудно се оправях с него. (относно конфигуриране на входове и изходи).
|
| Вто Юли 03, 2007 5:34 pm |
|
 |
|
Predator_MF
Ранг: Форумен бог
Регистриран на: Чет Окт 07, 2004 1:22 pm Мнения: 1949 Местоположение: София
|
То си е същото като в другите пикльовци, само че имаш един порт кръстен GPIO, SFR регистър който е на адрес 0x05 в банка 0 и TRISIO, който е в 0x05 в банка 1 (0x85). На същия адрес в 877 (и повечето 16-ки) е PortA и TrisA респективно. В CCS:
|
| Вто Юли 03, 2007 6:00 pm |
|
 |
|
mash
Ранг: Новодошъл
Регистриран на: Пет Окт 27, 2006 6:23 pm Мнения: 162 Местоположение: Севлиево
|
#include "D:\picprocesori\project\12f675.h" #BYTE PORTA = 0x05 #BYTE TRISA = 0x85 void main() {
setup_adc_ports(NO_ANALOGS|VSS_VDD); setup_adc(ADC_OFF); setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1); setup_timer_1(T1_DISABLED); setup_comparator(NC_NC); setup_vref(FALSE); TRISA = 0 PORTA = 0 While (true) { OUTPUT_HIGH(PIN_A1); delay_ms (1000); OUTPUT_LOW(PIN_A1); delay_ms (1000); }
}
Ами неиска и неиска да стане ....  Къде бъркам ?!
|
| Вто Юли 03, 2007 6:08 pm |
|
 |
|
Predator_MF
Ранг: Форумен бог
Регистриран на: Чет Окт 07, 2004 1:22 pm Мнения: 1949 Местоположение: София
|
Светодиода ти не бачка, да не си го вързал наобратно  Успокой се малко и си огледай хардуера, може да бъркаш захранване или нещо подобно
|
| Вто Юли 03, 2007 8:01 pm |
|
 |
|
mash
Ранг: Новодошъл
Регистриран на: Пет Окт 27, 2006 6:23 pm Мнения: 162 Местоположение: Севлиево
|
 стига бре ....
та написах код на асемблер за мигащ светодиод и на същата платка заработи без никакъв проблем.
Егати идиотската работа ...
Вече незнам какво да си мисля ...
хардуера е бомба .. работи си без никакви пр0облеми...
Като запиша кода с icprog и ми дава грешка, че не е калибриран осцилатора ?!
Това има ли някакво значение ?
|
| Вто Юли 03, 2007 11:30 pm |
|
 |
|
Predator_MF
Ранг: Форумен бог
Регистриран на: Чет Окт 07, 2004 1:22 pm Мнения: 1949 Местоположение: София
|
Има разбира се, добави това в началото на кода:
това C0 ти е calibration-а за OSCCAL, а 34 e RETLW, при стартиране PIC-а тръгва да чете там и като имаш 3FFF (ADDLW 0xFF) проца се ресетва
Най-вероятно си го затрил при програмиране и затова се дъни 
|
| Сря Юли 04, 2007 12:15 am |
|
 |
|
mash
Ранг: Новодошъл
Регистриран на: Пет Окт 27, 2006 6:23 pm Мнения: 162 Местоположение: Севлиево
|
Вече работи генератора
За съжаление явно няма да стане да предавам по RS 232 с този пик.
Излизат само йероглифи
Явно не работи стабилно без кварцов резонатор ....
|
| Сря Юли 04, 2007 12:48 pm |
|
 |
|
setoy
Ранг: Почетен член
Регистриран на: Пет Фев 17, 2006 9:17 am Мнения: 765 Местоположение: Стара Загора
|
Грешката ти е някъде другаде. Трябва да работи стабилно. Правил съм го. С вътрешния осцилатор RS- а не се дънеше дори при захранващо напрежение около 2 волта - макар че с такова захранване и ПИК-а дори не би трябвало да запали  Ама не знам, може моите процесори да са били сбъгясани нещо 
|
| Сря Юли 04, 2007 12:54 pm |
|
 |
|
mash
Ранг: Новодошъл
Регистриран на: Пет Окт 27, 2006 6:23 pm Мнения: 162 Местоположение: Севлиево
|
#include "D:\picprocesori\project\12f675.h"
#ROM 0x3FF= {0x34C0} // Calibration Word
void main()
{
setup_adc_ports(NO_ANALOGS|VSS_VDD);
setup_adc(ADC_OFF);
setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
setup_timer_1(T1_DISABLED);
setup_comparator(NC_NC);
setup_vref(FALSE);
puts ("RS232 Komunikacia -Test");
While (true)
{
}
}
#include <12F675.h> #device adc=8 #ROM 0x3FF= {0x34C0} // Calibration Word #FUSES NOWDT //No Watch Dog Timer #FUSES INTRC_IO //Internal RC Osc, no CLKOUT #FUSES NOCPD //No EE protection #FUSES NOPROTECT //Code not protected from reading #FUSES NOMCLR //Master Clear pin used for I/O #FUSES PUT //Power Up Timer #FUSES BROWNOUT //Reset when brownout detected #FUSES BANDGAP_HIGH #use delay(clock=4000000) #use rs232(baud=2400,parity=N,xmit=PIN_A2,rcv=PIN_A3,bits=8)
При еднакви скорости (2400)
ми изписва на екрана това :
HTlXДt[[UWQ!W–ќiGс
|
| Сря Юли 04, 2007 12:59 pm |
|
 |
|
Predator_MF
Ранг: Форумен бог
Регистриран на: Чет Окт 07, 2004 1:22 pm Мнения: 1949 Местоположение: София
|
Е това C0 си го измислих в движение, видях го на един от моите PIC-ове, с такъв OSCCAL дойде заводски, ще трябва да намериш друг чип от същата партида и да му изчетеш 0x3FF за да видиш каква е стойността.
Иначе на 38400 съм пускал с вътрешен RC и нямаше проблеми
PS: И спри да го пишеш червено, че ще ни извадиш очите, ползвай Code функцията като постваш
|
| Сря Юли 04, 2007 2:13 pm |
|
 |
|
rumen65
Ранг: Новодошъл
Регистриран на: Чет Окт 06, 2005 2:06 pm Мнения: 194 Местоположение: Sofia
|
Вземи си друг процесор на който не си му затрил калибрацията на осцилатора. Майкрочип имат обяснение някъде как сам да си го калибрираш. От тази дума (C0) са важни старшите пет бита, като всяка единица променя честотата с около процент и нещо. Имай на в предвид че на всеки процесор е различно.
|
| Сря Юли 04, 2007 2:17 pm |
|
 |
|
mash
Ранг: Новодошъл
Регистриран на: Пет Окт 27, 2006 6:23 pm Мнения: 162 Местоположение: Севлиево
|
Да ! голям късмет, че имах още един неизползван чип от тази партида и успях да прочета 3440.
 сега работят и 3 те нормално ..... ЕВРИКАААААААА
Остана ми един от друга партида за който 3440 не важи
И сега незнам какво да го правя ....
|
| Сря Юли 04, 2007 6:40 pm |
|
 |
|
Predator_MF
Ранг: Форумен бог
Регистриран на: Чет Окт 07, 2004 1:22 pm Мнения: 1949 Местоположение: София
|
Тури ей това в програмата и гледай на терминала кога ще изкочи текста
PS: Като минем през Севлиево очакваме камионче с бира 
|
| Сря Юли 04, 2007 6:44 pm |
|
 |
|
mash
Ранг: Новодошъл
Регистриран на: Пет Окт 27, 2006 6:23 pm Мнения: 162 Местоположение: Севлиево
|
Хаха  Цистерна с бира
Много ти благодаря за търпението, което прояви
Дано някои хора последват примера ти и бъдат по-дружелюбни.
Благодаря и на останалите участници в темата 
|
| Сря Юли 04, 2007 7:07 pm |
|
 |
|
chwor
Ранг: Минаващ
Регистриран на: Пет Ное 25, 2005 11:05 pm Мнения: 67
|
|
| Вто Юли 10, 2007 1:25 pm |
|
|