| Микроконтролери и електроника http://mcu-bg.com/mcu_site/ |
|
| IntRC PIC16F628A http://mcu-bg.com/mcu_site/viewtopic.php?f=3&t=5083 |
Страница 1 от 1 |
| Автор: | mash [ Сря Ное 14, 2007 7:26 pm ] |
| Заглавие: | 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) Има ли нещо , което да пропускам ? |
|
| Автор: | Ки4о [ Чет Ное 15, 2007 1:02 pm ] | |||||||||
| Заглавие: | ||||||||||
Във
__CONFIG( HS & PWRTEN & BORDIS & WDTDIS & LVPDIS & DEBUGDIS & UNPROTECT); |
||||||||||
| Автор: | mash [ Чет Ное 15, 2007 6:41 pm ] | ||||||||||||||||||
| Заглавие: | |||||||||||||||||||
#FUSES INTRC_IO //Internal RC Osc, no CLKOUT - Ето тук |
|||||||||||||||||||
| Автор: | bkulev [ Пет Ное 16, 2007 3:47 pm ] |
| Заглавие: | |
mash аз нямам проблеми точно с този проц, но използвам Hi-Tech. Мисля, че тази дефиниция е объркана, за един друг процесор, ползвах PICC и имах проблем и до колкото си спомням бяха объркани по отношение на това дали да има CLKOUT или не. Но инъче си работеше. |
|
| Автор: | /dev/null [ Пет Ное 16, 2007 4:11 pm ] |
| Заглавие: | |
Имах такъв проблем със 16ф628а. Ако не ти е фатален броя на I/O пиновете, закачи пулъп на MCLR и 99% ще тръгне. П.П. Софтуеарната ти конфигурация е добре. |
|
| Автор: | Zeus [ Пет Ное 16, 2007 7:55 pm ] |
| Заглавие: | Re: IntRC PIC16F628A |
Пробвай вместо #use delay(clock=4000000) да сложиш #use delay(internal=4M) може пък да се оправи |
|
| Автор: | mash [ Съб Ное 17, 2007 6:35 pm ] |
| Заглавие: | |
Хм.. нищо не помага като напиша програмата на асемблер и осцилатора работи, а на PICC не работи. Много интересно... |
|
| Автор: | ¶ [ Вто Ное 20, 2007 12:54 am ] | |||||||||
| Заглавие: | ||||||||||
Имаше нещо гнило по една от версиите на CCS за Fuses точно за този процесор . Изпробвай с
|
||||||||||
| Автор: | Predator_MF [ Вто Ное 20, 2007 9:13 am ] | |||||||||
| Заглавие: | ||||||||||
Не му знам на тоя къде му е OSCCAL във FLASH-a, обаче изкарай си CLKOUT на RA6 и виж има ли такт, ако има, най-вероятно проблема ти е в инициализацията на процесора, в CCS има едно парче код което чете OSCCAL от FLASH и го мята в OSCCAL в GP-тата, там е retlw инструкция (0x3CXX), ако си я затрил съвсем случайно оттам, процесора ще си стои във първите 30-ина байта, директивата във CCS е:
|
||||||||||
| Автор: | mash [ Сря Ное 21, 2007 12:54 am ] |
| Заглавие: | |
Изпробвах всичко изписано по тази тема и не се получава нищо Много странно ... като напиша кода на MPlab и си работи безупречно! Кода на асемблер ми върши работа, но не ми дава покой, защо не мога да го направя на С?! п.с. на RA6 няма такт каот го задам. |
|
| Автор: | Predator_MF [ Сря Ное 21, 2007 8:57 am ] | |||||||||
| Заглавие: | ||||||||||
Опитай с:
Все пак, провери си FUSES преди да го програмираш (и дали изобщо си включил CLKOUT на RA6), в краен случай направи disassembly с някоя програма, става даже и с ICPROG и виж къде се дъни |
||||||||||
| Автор: | stanleyhacker [ Сря Ное 21, 2007 6:43 pm ] |
| Заглавие: | |
setup_oscillator(OSC_4MHZ ); Вместо OSC_4MHZ трябва да е от рода на INTOSC_IO ili INTOSC_NOCLKOUT |
|
| Автор: | ¶ [ Сря Ное 21, 2007 7:08 pm ] |
| Заглавие: | |
Добре де, след като го програмираш с програмата на Ц, прочети обратно професора и виж какви са му fuse битовете, същото направи и с програмата на асемблер, виж дали има разлики/прилики |
|
| Автор: | mash [ Сря Ное 21, 2007 7:27 pm ] | |||||||||
| Заглавие: | ||||||||||
Няма разлики ! записва си ги без проблем ..... |
||||||||||
| Автор: | ¶ [ Сря Ное 21, 2007 8:09 pm ] |
| Заглавие: | |
Ако наистина няма разлики между записаните fuse битове на програмата на Ц и асемблер, значи проблема е нещо в програмата на Ц. Виж в листинга какъв асемблер е генерирал компилатора. |
|
| Страница 1 от 1 | Часовете са според зоната UTC + 2 часа [ DST ] |
| Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |
|