Отговори на тема  [ 15 мнения ] 
IntRC PIC16F628A 
Автор Съобщение
Ранг: Новодошъл
Ранг: Новодошъл
Аватар

Регистриран на: Пет Окт 27, 2006 6:23 pm
Мнения: 162
Местоположение: Севлиево
Мнение IntRC PIC16F628A
Здравейте :)
Имам проблем относно работата на този пик с вътрешния осцилатор. Изобщо не иска да тръгне, като напиша програмата на PIC C , а като я напиша на асемблер и си работи ?! ето конфигурацията на пика на С :
.......

void main()
{

setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
setup_timer_1(T1_DISABLED);
setup_timer_2(T2_DISABLED,0,1);
setup_comparator(NC_NC_NC_NC);
setup_vref(FALSE);
setup_oscillator(OSC_4MHZ );
.............
#include <16F628A.h>

#FUSES NOWDT //No Watch Dog Timer
#FUSES INTRC_IO //Internal RC Osc, no CLKOUT
#FUSES PUT //Power Up Timer
#FUSES NOPROTECT //Code not protected from reading
#FUSES NOBROWNOUT //No brownout reset
#FUSES NOMCLR //Master Clear pin used for I/O
#FUSES NOLVP //No low voltage prgming, B3(PIC16) or B5(PIC18) used for I/O
#FUSES NOCPD //No EE protection

#use delay(clock=4000000)

Има ли нещо , което да пропускам ?


Сря Ное 14, 2007 7:26 pm
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Съб Юли 22, 2006 9:50 pm
Мнения: 1638
Мнение 
Във
Цитат:
#include <16F628A.h>

#FUSES NOWDT //No Watch Dog Timer
#FUSES INTRC_IO //Internal RC Osc, no CLKOUT
#FUSES PUT //Power Up Timer
#FUSES NOPROTECT //Code not protected from reading
#FUSES NOBROWNOUT //No brownout reset
#FUSES NOMCLR //Master Clear pin used for I/O
#FUSES NOLVP //No low voltage prgming, B3(PIC16) or B5(PIC18) used for I/O
#FUSES NOCPD //No EE protection

никъде не виждам да задаваш какъв тип ти е осцилатора ,нещо от сорта на
__CONFIG( HS & PWRTEN & BORDIS & WDTDIS & LVPDIS & DEBUGDIS & UNPROTECT);


Чет Ное 15, 2007 1:02 pm
Профил
Ранг: Новодошъл
Ранг: Новодошъл
Аватар

Регистриран на: Пет Окт 27, 2006 6:23 pm
Мнения: 162
Местоположение: Севлиево
Мнение 
Ки4о написа:
Във
Цитат:
#include <16F628A.h>

#FUSES NOWDT //No Watch Dog Timer
#FUSES INTRC_IO //Internal RC Osc, no CLKOUT
#FUSES PUT //Power Up Timer
#FUSES NOPROTECT //Code not protected from reading
#FUSES NOBROWNOUT //No brownout reset
#FUSES NOMCLR //Master Clear pin used for I/O
#FUSES NOLVP //No low voltage prgming, B3(PIC16) or B5(PIC18) used for I/O
#FUSES NOCPD //No EE protection

никъде не виждам да задаваш какъв тип ти е осцилатора ,нещо от сорта на
__CONFIG( HS & PWRTEN & BORDIS & WDTDIS & LVPDIS & DEBUGDIS & UNPROTECT);






#FUSES INTRC_IO //Internal RC Osc, no CLKOUT - Ето тук


Чет Ное 15, 2007 6:41 pm
Профил ICQ
Ранг: Популярен
Ранг: Популярен

Регистриран на: Сря Яну 25, 2006 12:47 pm
Мнения: 305
Местоположение: Varna
Мнение 
mash аз нямам проблеми точно с този проц, но използвам Hi-Tech.

Мисля, че тази дефиниция е объркана, за един друг процесор,
ползвах PICC и имах проблем и до колкото си спомням бяха объркани
по отношение на това дали да има CLKOUT или не.
Но инъче си работеше.


Пет Ное 16, 2007 3:47 pm
Профил
Ранг: Минаващ
Ранг: Минаващ
Аватар

Регистриран на: Пон Юли 23, 2007 8:09 am
Мнения: 29
Мнение 
Имах такъв проблем със 16ф628а.
Ако не ти е фатален броя на I/O пиновете, закачи пулъп на MCLR и 99% ще тръгне.

П.П. Софтуеарната ти конфигурация е добре.

_________________
I'm not a complete idiot. Some parts are missing ...


Пет Ное 16, 2007 4:11 pm
Профил
Ранг: Почетен член
Ранг: Почетен член
Аватар

Регистриран на: Вто Окт 03, 2006 11:58 am
Мнения: 924
Местоположение: Ботевград
Мнение Re: IntRC PIC16F628A
Пробвай вместо
#use delay(clock=4000000)
да сложиш
#use delay(internal=4M)
може пък да се оправи


Пет Ное 16, 2007 7:55 pm
Профил
Ранг: Новодошъл
Ранг: Новодошъл
Аватар

Регистриран на: Пет Окт 27, 2006 6:23 pm
Мнения: 162
Местоположение: Севлиево
Мнение 
Хм.. нищо не помага
като напиша програмата на асемблер и осцилатора работи, а на PICC не работи.
Много интересно...


Съб Ное 17, 2007 6:35 pm
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пет Фев 25, 2005 1:58 pm
Мнения: 4585
Местоположение: US
Мнение 
Имаше нещо гнило по една от версиите на CCS за Fuses точно за този процесор . Изпробвай с
Код:
#ROM 0x2007  = { Актуалните битове на Fuses }.

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


Вто Ное 20, 2007 12:54 am
Профил WWW
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Чет Окт 07, 2004 1:22 pm
Мнения: 1949
Местоположение: София
Мнение 
Не му знам на тоя къде му е OSCCAL във FLASH-a, обаче изкарай си CLKOUT на RA6 и виж има ли такт, ако има, най-вероятно проблема ти е в инициализацията на процесора, в CCS има едно парче код което чете OSCCAL от FLASH и го мята в OSCCAL в GP-тата, там е retlw инструкция (0x3CXX), ако си я затрил съвсем случайно оттам, процесора ще си стои във първите 30-ина байта, директивата във CCS е:

Код:
ROM 0x3FFF = {0x3C40} // в случай че OSCCAL ти е 0x40, не съм сигурен къде е OSCCAL на този процесор, виж PDF


Вто Ное 20, 2007 9:13 am
Профил
Ранг: Новодошъл
Ранг: Новодошъл
Аватар

Регистриран на: Пет Окт 27, 2006 6:23 pm
Мнения: 162
Местоположение: Севлиево
Мнение 
Изпробвах всичко изписано по тази тема и не се получава нищо :(
Много странно ... като напиша кода на MPlab и си работи безупречно!
Кода на асемблер ми върши работа, но не ми дава покой, защо не мога да го направя на С?!
п.с. на RA6 няма такт каот го задам.


Сря Ное 21, 2007 12:54 am
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Чет Окт 07, 2004 1:22 pm
Мнения: 1949
Местоположение: София
Мнение 
Опитай с:
Код:
#ROM 0x7FFF = {0x3C40}


Все пак, провери си FUSES преди да го програмираш (и дали изобщо си включил CLKOUT на RA6), в краен случай направи disassembly с някоя програма, става даже и с ICPROG и виж къде се дъни


Сря Ное 21, 2007 8:57 am
Профил
Ранг: Новодошъл
Ранг: Новодошъл
Аватар

Регистриран на: Чет Дек 02, 2004 7:22 pm
Мнения: 140
Мнение 
setup_oscillator(OSC_4MHZ );

Вместо OSC_4MHZ трябва да е от рода на INTOSC_IO ili INTOSC_NOCLKOUT


Сря Ное 21, 2007 6:43 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пет Фев 25, 2005 1:58 pm
Мнения: 4585
Местоположение: US
Мнение 
Добре де, след като го програмираш с програмата на Ц, прочети обратно професора и виж какви са му fuse битовете, същото направи и с програмата на асемблер, виж дали има разлики/прилики :)

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


Сря Ное 21, 2007 7:08 pm
Профил WWW
Ранг: Новодошъл
Ранг: Новодошъл
Аватар

Регистриран на: Пет Окт 27, 2006 6:23 pm
Мнения: 162
Местоположение: Севлиево
Мнение 
¶ написа:
Добре де, след като го програмираш с програмата на Ц, прочети обратно професора и виж какви са му fuse битовете, същото направи и с програмата на асемблер, виж дали има разлики/прилики :)

Няма разлики !
записва си ги без проблем .....


Сря Ное 21, 2007 7:27 pm
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пет Фев 25, 2005 1:58 pm
Мнения: 4585
Местоположение: US
Мнение 
Ако наистина няма разлики между записаните fuse битове на програмата на Ц и асемблер, значи проблема е нещо в програмата на Ц. Виж в листинга какъв асемблер е генерирал компилатора.

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


Сря Ное 21, 2007 8:09 pm
Профил WWW
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 15 мнения ] 

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 0 госта


Вие не можете да пускате нови теми
Вие не можете да отговаряте на теми
Вие не можете да променяте собственото си мнение
Вие не можете да изтривате собствените си мнения
Вие не можете да прикачвате файл

Търсене:
Иди на:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.
Хостинг и Домейни