<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/">
	<channel>
		<title><![CDATA[DIY Electronic projects - Microchip PIC]]></title>
		<link>https://forum.yu3ma.net/</link>
		<description><![CDATA[DIY Electronic projects - https://forum.yu3ma.net]]></description>
		<pubDate>Sat, 11 Apr 2026 03:02:01 +0000</pubDate>
		<generator>MyBB</generator>
		<item>
			<title><![CDATA[PICkit 3]]></title>
			<link>https://forum.yu3ma.net/showthread.php?tid=2966</link>
			<pubDate>Thu, 03 Oct 2024 14:43:43 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://forum.yu3ma.net/member.php?action=profile&uid=879">gorso69</a>]]></dc:creator>
			<guid isPermaLink="false">https://forum.yu3ma.net/showthread.php?tid=2966</guid>
			<description><![CDATA[Koristi li neko PICkit 3 softwer ?]]></description>
			<content:encoded><![CDATA[Koristi li neko PICkit 3 softwer ?]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Problem sa PIC16F15313 i NCO]]></title>
			<link>https://forum.yu3ma.net/showthread.php?tid=2963</link>
			<pubDate>Sat, 28 Sep 2024 09:54:46 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://forum.yu3ma.net/member.php?action=profile&uid=107">mikikg</a>]]></dc:creator>
			<guid isPermaLink="false">https://forum.yu3ma.net/showthread.php?tid=2963</guid>
			<description><![CDATA[Drugari, <br />
<br />
da li neko zna u čemu je ovde greška da ovaj NCO oscilator ne radi?<br />
Svašta sam probao i ne znam šta je tu sporno, probam GPIO togle na RA2 nararvno radi, NCO nema ništa 0.<br />
Ovaj code sam iskopirao iz aplikacione note, to bi trebalo da radi ...<br />
<br />
<br />
<span style="font-family: Courier New;" class="mycode_font">//------------------------ PIC16F15313 ------------------------------------------------ </span><br />
<span style="font-family: Courier New;" class="mycode_font">#include "xc.h"</span><br />
<br />
<span style="font-family: Courier New;" class="mycode_font">void setup_nco(void) {</span><br />
<span style="font-family: Courier New;" class="mycode_font">// Set the oscillator frequency to 16 MHz</span><br />
<span style="font-family: Courier New;" class="mycode_font">OSCCON1bits.NOSC = 0b110;  // Select HFINTOSC as the oscillator source</span><br />
<span style="font-family: Courier New;" class="mycode_font">OSCFRQbits.HFFRQ = 0b110;  // Set the HFINTOSC frequency to 16 MHz</span><br />
<br />
<span style="font-family: Courier New;" class="mycode_font">    NCO1CONbits.N1EN = 1;      // Enable NCO module</span><br />
<span style="font-family: Courier New;" class="mycode_font">    NCO1CONbits.N1PFM = 0;    // Fixed Duty Cycle mode</span><br />
<span style="font-family: Courier New;" class="mycode_font">    NCO1CONbits.N1POL = 0;    // NCO output is active high</span><br />
<span style="font-family: Courier New;" class="mycode_font">    NCO1CLKbits.N1CKS = 0b01;  // Clock source is FOSC = 16 MHz</span><br />
<span style="font-family: Courier New;" class="mycode_font">    NCO1INCL = 0x33;          // Increment value low byte</span><br />
<span style="font-family: Courier New;" class="mycode_font">    NCO1INCH = 0x34;          // Increment value high byte</span><br />
<span style="font-family: Courier New;" class="mycode_font">    RA2PPS = 0x13;            // NCO output on RA2</span><br />
<span style="font-family: Courier New;" class="mycode_font">}</span><br />
<br />
<span style="font-family: Courier New;" class="mycode_font">void main(void) {</span><br />
<span style="font-family: Courier New;" class="mycode_font">    // Setup RA2 as output for NCO</span><br />
<span style="font-family: Courier New;" class="mycode_font">    TRISA2 = 0;</span><br />
<span style="font-family: Courier New;" class="mycode_font">    setup_nco(); // Initialize NCO</span><br />
<br />
<span style="font-family: Courier New;" class="mycode_font">    while (1) {</span><br />
<span style="font-family: Courier New;" class="mycode_font">        // Main loop (NCO will generate the frequency on RA2)</span><br />
<span style="font-family: Courier New;" class="mycode_font">    }</span><br />
<span style="font-family: Courier New;" class="mycode_font">}<br />
</span>]]></description>
			<content:encoded><![CDATA[Drugari, <br />
<br />
da li neko zna u čemu je ovde greška da ovaj NCO oscilator ne radi?<br />
Svašta sam probao i ne znam šta je tu sporno, probam GPIO togle na RA2 nararvno radi, NCO nema ništa 0.<br />
Ovaj code sam iskopirao iz aplikacione note, to bi trebalo da radi ...<br />
<br />
<br />
<span style="font-family: Courier New;" class="mycode_font">//------------------------ PIC16F15313 ------------------------------------------------ </span><br />
<span style="font-family: Courier New;" class="mycode_font">#include "xc.h"</span><br />
<br />
<span style="font-family: Courier New;" class="mycode_font">void setup_nco(void) {</span><br />
<span style="font-family: Courier New;" class="mycode_font">// Set the oscillator frequency to 16 MHz</span><br />
<span style="font-family: Courier New;" class="mycode_font">OSCCON1bits.NOSC = 0b110;  // Select HFINTOSC as the oscillator source</span><br />
<span style="font-family: Courier New;" class="mycode_font">OSCFRQbits.HFFRQ = 0b110;  // Set the HFINTOSC frequency to 16 MHz</span><br />
<br />
<span style="font-family: Courier New;" class="mycode_font">    NCO1CONbits.N1EN = 1;      // Enable NCO module</span><br />
<span style="font-family: Courier New;" class="mycode_font">    NCO1CONbits.N1PFM = 0;    // Fixed Duty Cycle mode</span><br />
<span style="font-family: Courier New;" class="mycode_font">    NCO1CONbits.N1POL = 0;    // NCO output is active high</span><br />
<span style="font-family: Courier New;" class="mycode_font">    NCO1CLKbits.N1CKS = 0b01;  // Clock source is FOSC = 16 MHz</span><br />
<span style="font-family: Courier New;" class="mycode_font">    NCO1INCL = 0x33;          // Increment value low byte</span><br />
<span style="font-family: Courier New;" class="mycode_font">    NCO1INCH = 0x34;          // Increment value high byte</span><br />
<span style="font-family: Courier New;" class="mycode_font">    RA2PPS = 0x13;            // NCO output on RA2</span><br />
<span style="font-family: Courier New;" class="mycode_font">}</span><br />
<br />
<span style="font-family: Courier New;" class="mycode_font">void main(void) {</span><br />
<span style="font-family: Courier New;" class="mycode_font">    // Setup RA2 as output for NCO</span><br />
<span style="font-family: Courier New;" class="mycode_font">    TRISA2 = 0;</span><br />
<span style="font-family: Courier New;" class="mycode_font">    setup_nco(); // Initialize NCO</span><br />
<br />
<span style="font-family: Courier New;" class="mycode_font">    while (1) {</span><br />
<span style="font-family: Courier New;" class="mycode_font">        // Main loop (NCO will generate the frequency on RA2)</span><br />
<span style="font-family: Courier New;" class="mycode_font">    }</span><br />
<span style="font-family: Courier New;" class="mycode_font">}<br />
</span>]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Pic 16f877a i lcd i2c. Neide nikako.]]></title>
			<link>https://forum.yu3ma.net/showthread.php?tid=2958</link>
			<pubDate>Tue, 10 Sep 2024 13:22:16 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://forum.yu3ma.net/member.php?action=profile&uid=726">MILANNN</a>]]></dc:creator>
			<guid isPermaLink="false">https://forum.yu3ma.net/showthread.php?tid=2958</guid>
			<description><![CDATA[Pozdrav svima.Prepar godina mozda i vise mi je trebala komunikacija sa i2c i jedva nekako nesto nadjo ali vise neznam gde mi je taj program.<br />
Sad ponovo mi je to bitno da spojim 16f88 ili u krajnjem slucaju 16f877 na i2c displej ali stvarno neuspevam,vec nekoliko dana i jednostavno neide.<br />
Ako neko ima bilo kakav program u Pic Bejziku zamolio bih da mi posalje,moze i program sa gotovom bibliotekom i bilo sta da pise na displeju,lako cu posle da se snadjem.<br />
Sa neta sam probao bar 20 primera i nista.<br />
LCD mi je 16x2 sa i2c modulom vec zalemljenim za displej,adresu cu da pogledam koja je jer nije mi sad pri ruci.Ako moze pomagajte ili ako nema nikakvog koda obda lemilica pa modul i2c napolje <img src="https://forum.yu3ma.net/images/smilies/sad.gif" alt="Sad" title="Sad" class="smilie smilie_8" />]]></description>
			<content:encoded><![CDATA[Pozdrav svima.Prepar godina mozda i vise mi je trebala komunikacija sa i2c i jedva nekako nesto nadjo ali vise neznam gde mi je taj program.<br />
Sad ponovo mi je to bitno da spojim 16f88 ili u krajnjem slucaju 16f877 na i2c displej ali stvarno neuspevam,vec nekoliko dana i jednostavno neide.<br />
Ako neko ima bilo kakav program u Pic Bejziku zamolio bih da mi posalje,moze i program sa gotovom bibliotekom i bilo sta da pise na displeju,lako cu posle da se snadjem.<br />
Sa neta sam probao bar 20 primera i nista.<br />
LCD mi je 16x2 sa i2c modulom vec zalemljenim za displej,adresu cu da pogledam koja je jer nije mi sad pri ruci.Ako moze pomagajte ili ako nema nikakvog koda obda lemilica pa modul i2c napolje <img src="https://forum.yu3ma.net/images/smilies/sad.gif" alt="Sad" title="Sad" class="smilie smilie_8" />]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[PIC kao clean shutdown kontroler za Raspberry PI]]></title>
			<link>https://forum.yu3ma.net/showthread.php?tid=2926</link>
			<pubDate>Sun, 05 May 2024 17:53:28 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://forum.yu3ma.net/member.php?action=profile&uid=981">savan</a>]]></dc:creator>
			<guid isPermaLink="false">https://forum.yu3ma.net/showthread.php?tid=2926</guid>
			<description><![CDATA[Premestio sam iz teme <a href="https://forum.yu3ma.net/showthread.php?tid=2772" target="_blank" rel="noopener" class='oembed'>https://forum.yu3ma.net/showthread.php?tid=2772</a> ovde<br />
<br />
Dakle radi se o mikrokontroleru namenjenom da bezbedno pali i gasi Raspberry PI CM4 modul, prilikom gasenja dismontira sve diskove kako nebi dolazilo do gubitaka podataka i postavlja na kraju CM4 u totalno ugaseno stanje gde se sve gasi na njemu. Pali ga obrnutim redosledom.<br />
<br />
Ne znam kako je kod Rpi4, ovo je radjeno posebno za CM4 gde su potrebna 2 pina sa slike kao i procedura kako to funkcionise  -&gt; <a href="https://forum.yu3ma.net/showthread.php?tid=2772&amp;amp;pid=130476#pid130476" target="_blank" rel="noopener" class='oembed'>https://forum.yu3ma.net/showthread.php?tid=2772&amp;pid=130476#pid130476</a> , znaci nEXTRST i GLOBAL_EN, i dodatna dva gpio pina GPIO5 i GPIO21, GPIO5 je u overlay podesen da zada komandu shutdown os-u kada se klikne na power dugme ili na power dugme daljinskog upravljaca -&gt; <a href="https://www.audiophonics.fr/en/infrared-remote-controls-and-receivers/infrared-remote-for-evo-sabre-raspdac-mini-lcd-38khz-p-15309.html" target="_blank" rel="noopener" class='oembed'>https://www.audiophonics.fr/en/infrared-...15309.html</a> , a GPIO21 je sherovan sa ir led i tu sam upotrebio mosfet za tranziciju sa 5V na 3.3V tako da je ir led spojena i na pic i na CM4. U pic-u je implementirana samo POWER ir komanda navedenog daljinskog upravljaca dok bi sve ostale komande sa daljinskog upravljaca kome treba trebale da se implementuiraju na CM4. <span style="font-weight: bold;" class="mycode_b"><span style="text-decoration: underline;" class="mycode_u">RPI4 koliko znam nema izveden nEXTRST pin?? Tako da proverite ovu mogucnost implementacije mikrokontrolera za potrebe neceg sto nije CM4! Ovaj mod je bio namenjen za moju diy kameru koja radi na CM4, ne za RPI4, proverite pre nego krenete da pravite da li RPI4 ima izveden nEXTRST pin na pcb-u!</span></span><br />
<br />
Koliko znam RPI4 ima samo GLOBAL_EN izveden i odmah pored njega RUN_PG, RUN_PG ne moze da se upotrebi kao nEXTRST jer to su dve razlicite funkcije.<br />
nEXTRST= Output. Driven low during reset; Driven high (CM4_3.3V) once CM4 CPU has started to boot<br />
RUN_PG = Bidirectional pin. Can be driven low (via a 220Ω resistor) to reset the CM4 CPU. As an output, a high signals that power is good and CPU is running. Internally pulled up to +3.3V via 10kΩ<br />
<br />
Onda je potrebno u config.txt da se doda linija:<br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>dtoverlay=gpio-shutdown,gpio_pin=5</code></div></div><br />
Programski kod za pic -&gt; <a href="https://forum.yu3ma.net/attachment.php?aid=42729" target="_blank" rel="noopener" class='oembed'>https://forum.yu3ma.net/attachment.php?aid=42729</a><br />
Ili programski kod kompilovan ko nece da ga kompiluje za pic -&lt; <a href="https://forum.yu3ma.net/attachment.php?aid=42731" target="_blank" rel="noopener" class='oembed'>https://forum.yu3ma.net/attachment.php?aid=42731</a><br />
<br />
Povezivanje sa CM4 kao i shema za pic, ir led i dugme na slici:<br />
<br />
<img src="https://forum.yu3ma.net/attachment.php?aid=42859" loading="lazy"  alt="[Image: attachment.php?aid=42859]" class="mycode_img" /><br /><!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://forum.yu3ma.net/images/attachtypes/image.gif" title="PNG Image" border="0" alt=".png" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=42859" target="_blank" title="">2024-05-05_193137.png</a> (Size: 28,51 KB / Downloads: 110)
<!-- end: postbit_attachments_attachment -->]]></description>
			<content:encoded><![CDATA[Premestio sam iz teme <a href="https://forum.yu3ma.net/showthread.php?tid=2772" target="_blank" rel="noopener" class='oembed'>https://forum.yu3ma.net/showthread.php?tid=2772</a> ovde<br />
<br />
Dakle radi se o mikrokontroleru namenjenom da bezbedno pali i gasi Raspberry PI CM4 modul, prilikom gasenja dismontira sve diskove kako nebi dolazilo do gubitaka podataka i postavlja na kraju CM4 u totalno ugaseno stanje gde se sve gasi na njemu. Pali ga obrnutim redosledom.<br />
<br />
Ne znam kako je kod Rpi4, ovo je radjeno posebno za CM4 gde su potrebna 2 pina sa slike kao i procedura kako to funkcionise  -&gt; <a href="https://forum.yu3ma.net/showthread.php?tid=2772&amp;amp;pid=130476#pid130476" target="_blank" rel="noopener" class='oembed'>https://forum.yu3ma.net/showthread.php?tid=2772&amp;pid=130476#pid130476</a> , znaci nEXTRST i GLOBAL_EN, i dodatna dva gpio pina GPIO5 i GPIO21, GPIO5 je u overlay podesen da zada komandu shutdown os-u kada se klikne na power dugme ili na power dugme daljinskog upravljaca -&gt; <a href="https://www.audiophonics.fr/en/infrared-remote-controls-and-receivers/infrared-remote-for-evo-sabre-raspdac-mini-lcd-38khz-p-15309.html" target="_blank" rel="noopener" class='oembed'>https://www.audiophonics.fr/en/infrared-...15309.html</a> , a GPIO21 je sherovan sa ir led i tu sam upotrebio mosfet za tranziciju sa 5V na 3.3V tako da je ir led spojena i na pic i na CM4. U pic-u je implementirana samo POWER ir komanda navedenog daljinskog upravljaca dok bi sve ostale komande sa daljinskog upravljaca kome treba trebale da se implementuiraju na CM4. <span style="font-weight: bold;" class="mycode_b"><span style="text-decoration: underline;" class="mycode_u">RPI4 koliko znam nema izveden nEXTRST pin?? Tako da proverite ovu mogucnost implementacije mikrokontrolera za potrebe neceg sto nije CM4! Ovaj mod je bio namenjen za moju diy kameru koja radi na CM4, ne za RPI4, proverite pre nego krenete da pravite da li RPI4 ima izveden nEXTRST pin na pcb-u!</span></span><br />
<br />
Koliko znam RPI4 ima samo GLOBAL_EN izveden i odmah pored njega RUN_PG, RUN_PG ne moze da se upotrebi kao nEXTRST jer to su dve razlicite funkcije.<br />
nEXTRST= Output. Driven low during reset; Driven high (CM4_3.3V) once CM4 CPU has started to boot<br />
RUN_PG = Bidirectional pin. Can be driven low (via a 220Ω resistor) to reset the CM4 CPU. As an output, a high signals that power is good and CPU is running. Internally pulled up to +3.3V via 10kΩ<br />
<br />
Onda je potrebno u config.txt da se doda linija:<br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>dtoverlay=gpio-shutdown,gpio_pin=5</code></div></div><br />
Programski kod za pic -&gt; <a href="https://forum.yu3ma.net/attachment.php?aid=42729" target="_blank" rel="noopener" class='oembed'>https://forum.yu3ma.net/attachment.php?aid=42729</a><br />
Ili programski kod kompilovan ko nece da ga kompiluje za pic -&lt; <a href="https://forum.yu3ma.net/attachment.php?aid=42731" target="_blank" rel="noopener" class='oembed'>https://forum.yu3ma.net/attachment.php?aid=42731</a><br />
<br />
Povezivanje sa CM4 kao i shema za pic, ir led i dugme na slici:<br />
<br />
<img src="https://forum.yu3ma.net/attachment.php?aid=42859" loading="lazy"  alt="[Image: attachment.php?aid=42859]" class="mycode_img" /><br /><!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://forum.yu3ma.net/images/attachtypes/image.gif" title="PNG Image" border="0" alt=".png" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=42859" target="_blank" title="">2024-05-05_193137.png</a> (Size: 28,51 KB / Downloads: 110)
<!-- end: postbit_attachments_attachment -->]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Problem sa LC metrom]]></title>
			<link>https://forum.yu3ma.net/showthread.php?tid=2907</link>
			<pubDate>Sun, 31 Mar 2024 16:56:30 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://forum.yu3ma.net/member.php?action=profile&uid=726">MILANNN</a>]]></dc:creator>
			<guid isPermaLink="false">https://forum.yu3ma.net/showthread.php?tid=2907</guid>
			<description><![CDATA[<a href="https://www.radiolocman.com/shem/schematics.html?di=33994" target="_blank" rel="noopener" class='oembed'>https://www.radiolocman.com/shem/schemat...l?di=33994</a><br />
<br />
Pozdrav svima.Pravio sam lc metar po ovom linku vec dva komada za sebe i oba rade lepo,tacni i oba pokazuju isto.<br />
Sad sam ponovo pravio za drugara i pocinje problem,Do nekih 30uH meri tacno a navise kako merim vece induktivnosti greska je velika do nekih 1mH i navise je kao tacan.Sve kondenzatore sam menjao,probao drugm 16f84 koji radi u drugi lc metar i uvek isto,drugi lm311 nisam imao imao da zamenim.Ako neko ima ideju sto se rako ponasa neka pomaga...]]></description>
			<content:encoded><![CDATA[<a href="https://www.radiolocman.com/shem/schematics.html?di=33994" target="_blank" rel="noopener" class='oembed'>https://www.radiolocman.com/shem/schemat...l?di=33994</a><br />
<br />
Pozdrav svima.Pravio sam lc metar po ovom linku vec dva komada za sebe i oba rade lepo,tacni i oba pokazuju isto.<br />
Sad sam ponovo pravio za drugara i pocinje problem,Do nekih 30uH meri tacno a navise kako merim vece induktivnosti greska je velika do nekih 1mH i navise je kao tacan.Sve kondenzatore sam menjao,probao drugm 16f84 koji radi u drugi lc metar i uvek isto,drugi lm311 nisam imao imao da zamenim.Ako neko ima ideju sto se rako ponasa neka pomaga...]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Pic Kit 2 mozda problem]]></title>
			<link>https://forum.yu3ma.net/showthread.php?tid=2645</link>
			<pubDate>Fri, 26 Nov 2021 21:46:14 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://forum.yu3ma.net/member.php?action=profile&uid=726">MILANNN</a>]]></dc:creator>
			<guid isPermaLink="false">https://forum.yu3ma.net/showthread.php?tid=2645</guid>
			<description><![CDATA[Pozdrav svima.Nesto sam pravio po jednom gotovom projektu i primetio da se nesto dogadja oko snimanja hexa.Ubacim hex koji je na pr 2kb u PIC a kad taj isti hez iscitam i snimim on bude oko 13kb i kad ponovo usnimam taj iscitan hex od 13kb uredjaj radi a kad probam to isto u proteusu ispise mi kao da nesto nije uredu  eprom.Moze li neko da mi kaze sta je u pitanju? Isto se dogodi i kad ne ubacim hex u PIC,samo ga postavim u programu PIC KIT2 i odmah ga snimim i ponovo isto,bude oko 5x veci. <img src="https://forum.yu3ma.net/images/smilies/huh.gif" alt="Huh" title="Huh" class="smilie smilie_17" />]]></description>
			<content:encoded><![CDATA[Pozdrav svima.Nesto sam pravio po jednom gotovom projektu i primetio da se nesto dogadja oko snimanja hexa.Ubacim hex koji je na pr 2kb u PIC a kad taj isti hez iscitam i snimim on bude oko 13kb i kad ponovo usnimam taj iscitan hex od 13kb uredjaj radi a kad probam to isto u proteusu ispise mi kao da nesto nije uredu  eprom.Moze li neko da mi kaze sta je u pitanju? Isto se dogodi i kad ne ubacim hex u PIC,samo ga postavim u programu PIC KIT2 i odmah ga snimim i ponovo isto,bude oko 5x veci. <img src="https://forum.yu3ma.net/images/smilies/huh.gif" alt="Huh" title="Huh" class="smilie smilie_17" />]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[PIC USART even parity]]></title>
			<link>https://forum.yu3ma.net/showthread.php?tid=2560</link>
			<pubDate>Fri, 26 Mar 2021 16:12:25 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://forum.yu3ma.net/member.php?action=profile&uid=129">dlalkovic</a>]]></dc:creator>
			<guid isPermaLink="false">https://forum.yu3ma.net/showthread.php?tid=2560</guid>
			<description><![CDATA[USART hardverski modul ne podržava odd/even parity.<br />
Da li bi kontroler  trebao da i ovakav format čita bez problema ?<br />
Na starom Hyperterminal-u tek kada se odabere even počinju da se vide karakteri ( tako sam i utvrdio da serijski signal  nije 8N1)<br />
Naime, PIC 8N1 ispravno čita, a  even parity brlja.<br />
Radi se o PIC 16F727.<br />
Da li postoji neko iskustvo članova?<br />
d.l.]]></description>
			<content:encoded><![CDATA[USART hardverski modul ne podržava odd/even parity.<br />
Da li bi kontroler  trebao da i ovakav format čita bez problema ?<br />
Na starom Hyperterminal-u tek kada se odabere even počinju da se vide karakteri ( tako sam i utvrdio da serijski signal  nije 8N1)<br />
Naime, PIC 8N1 ispravno čita, a  even parity brlja.<br />
Radi se o PIC 16F727.<br />
Da li postoji neko iskustvo članova?<br />
d.l.]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[PIC16f877A voltmetar C kod.]]></title>
			<link>https://forum.yu3ma.net/showthread.php?tid=2554</link>
			<pubDate>Sat, 20 Mar 2021 14:06:49 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://forum.yu3ma.net/member.php?action=profile&uid=726">MILANNN</a>]]></dc:creator>
			<guid isPermaLink="false">https://forum.yu3ma.net/showthread.php?tid=2554</guid>
			<description><![CDATA[Pozdrav.Probao sam od ovog pisanog koda da uradim HEX u         MPLAB X IDE v2.35    ali mi u skoro svim redovima koda pojavi gresku tj. pored skoro svakog rede sa leve strane je crveni kruzic sa znakom " ! " <br />
Pisao sam za arduino ali nisam nikad za PIC pa me intresuje da li je ovaj kod ispravan a ja nesto gresim u MPLABu <br />
jer skinuo sam ga sa interneta.Evo kako je ceo kod napisan:<br />
Ovde gde su crtice u nastavku reda nema kruzica sa znakom '!" dok u svim ostalim ima.<br />
<br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>sbit LCD_RS at RB4_bit;<br />
sbit LCD_EN at RB5_bit;<br />
sbit LCD_D4 at RB0_bit;<br />
sbit LCD_D5 at RB1_bit;<br />
sbit LCD_D6 at RB2_bit;<br />
sbit LCD_D7 at RB3_bit;<br />
<br />
sbit LCD_RS_Direction at TRISB4_bit;<br />
sbit LCD_EN_Direction at TRISB5_bit;<br />
sbit LCD_D4_Direction at TRISB0_bit;<br />
sbit LCD_D5_Direction at TRISB1_bit;<br />
sbit LCD_D6_Direction at TRISB2_bit;<br />
sbit LCD_D7_Direction at TRISB3_bit;<br />
int Adread;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ------------------------<br />
float voltage;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;------------------------<br />
char volt[4];&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ------------------------<br />
void main() {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ------------------------<br />
<br />
PORTA = 0;<br />
TRISA = 0X01;<br />
PORTB = 0;<br />
TRISB = 0;<br />
LCD_Init();<br />
ADC_Init();<br />
LCD_Cmd(_LCD_CURSOR_OFF);<br />
LCD_Cmd(_LCD_CLEAR);<br />
LCD_Out(1, 1, "Digital voltmeter");<br />
delay_ms(1000);<br />
while (1)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --------------------------<br />
{<br />
voltage = ADC_Read(0);<br />
voltage = (voltage * 5 * 10)/ (1024);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -----------------------<br />
inttostr(voltage,volt); // it converts integer value into string<br />
Lcd_Out(2,1,"Voltage = ");<br />
Lcd_Out(2,11,Ltrim(volt));<br />
Lcd_Out(2,13,"Volt");<br />
}<br />
}</code></div></div>]]></description>
			<content:encoded><![CDATA[Pozdrav.Probao sam od ovog pisanog koda da uradim HEX u         MPLAB X IDE v2.35    ali mi u skoro svim redovima koda pojavi gresku tj. pored skoro svakog rede sa leve strane je crveni kruzic sa znakom " ! " <br />
Pisao sam za arduino ali nisam nikad za PIC pa me intresuje da li je ovaj kod ispravan a ja nesto gresim u MPLABu <br />
jer skinuo sam ga sa interneta.Evo kako je ceo kod napisan:<br />
Ovde gde su crtice u nastavku reda nema kruzica sa znakom '!" dok u svim ostalim ima.<br />
<br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>sbit LCD_RS at RB4_bit;<br />
sbit LCD_EN at RB5_bit;<br />
sbit LCD_D4 at RB0_bit;<br />
sbit LCD_D5 at RB1_bit;<br />
sbit LCD_D6 at RB2_bit;<br />
sbit LCD_D7 at RB3_bit;<br />
<br />
sbit LCD_RS_Direction at TRISB4_bit;<br />
sbit LCD_EN_Direction at TRISB5_bit;<br />
sbit LCD_D4_Direction at TRISB0_bit;<br />
sbit LCD_D5_Direction at TRISB1_bit;<br />
sbit LCD_D6_Direction at TRISB2_bit;<br />
sbit LCD_D7_Direction at TRISB3_bit;<br />
int Adread;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ------------------------<br />
float voltage;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;------------------------<br />
char volt[4];&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ------------------------<br />
void main() {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ------------------------<br />
<br />
PORTA = 0;<br />
TRISA = 0X01;<br />
PORTB = 0;<br />
TRISB = 0;<br />
LCD_Init();<br />
ADC_Init();<br />
LCD_Cmd(_LCD_CURSOR_OFF);<br />
LCD_Cmd(_LCD_CLEAR);<br />
LCD_Out(1, 1, "Digital voltmeter");<br />
delay_ms(1000);<br />
while (1)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --------------------------<br />
{<br />
voltage = ADC_Read(0);<br />
voltage = (voltage * 5 * 10)/ (1024);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -----------------------<br />
inttostr(voltage,volt); // it converts integer value into string<br />
Lcd_Out(2,1,"Voltage = ");<br />
Lcd_Out(2,11,Ltrim(volt));<br />
Lcd_Out(2,13,"Volt");<br />
}<br />
}</code></div></div>]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[PIC bootloader]]></title>
			<link>https://forum.yu3ma.net/showthread.php?tid=2539</link>
			<pubDate>Tue, 09 Feb 2021 15:23:02 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://forum.yu3ma.net/member.php?action=profile&uid=726">MILANNN</a>]]></dc:creator>
			<guid isPermaLink="false">https://forum.yu3ma.net/showthread.php?tid=2539</guid>
			<description><![CDATA[Pozdrav svima.Pokusavam da napravim serisku komunikaciju PIC jer mi je ogravicen prostor tamo gde bih ga stavio i nezgodno je menjati hex po potrebi pa bi mi zato seriska komunikacija sa max232 odgovarala.Hteo sam da stavim 16f883 ali imao sam i 16f88 pa bih sa njim da uradim jer je manji.Ubacio sam neki bootloader sa PicKit2 na PC imam neki program TinyPicBootloader+ (v0.6.4) i ispise mi da nevidi pic.To sa max232 bio je neki programator za dekodiranje kasetofona i sigurno radi samo za razliku od sema na intrnetu njemu idu sa max232 4 pina prema seriskom portu kompjutera,7. , 8,<br />
13. , i  14. pin a na pic sam probao i sa 9. i 10. i sa 11. i 12. pin na RX-TX. Probao i sa nekoliko kristala i u programu<br />
menjao od 9600 do 115200 i uvek isto.Ako moze neka pomoc bilo bi dobrodoslo,najvise mislim da nije dobar bootloader koji se nalazio u samoj instalaciji sa <span style="color: #333333;" class="mycode_color"><span style="font-size: small;" class="mycode_size"><span style="font-family: Tahoma, Verdana, Arial, sans-serif;" class="mycode_font">TinyPicBootloader+ (v0.6.4).</span></span></span>]]></description>
			<content:encoded><![CDATA[Pozdrav svima.Pokusavam da napravim serisku komunikaciju PIC jer mi je ogravicen prostor tamo gde bih ga stavio i nezgodno je menjati hex po potrebi pa bi mi zato seriska komunikacija sa max232 odgovarala.Hteo sam da stavim 16f883 ali imao sam i 16f88 pa bih sa njim da uradim jer je manji.Ubacio sam neki bootloader sa PicKit2 na PC imam neki program TinyPicBootloader+ (v0.6.4) i ispise mi da nevidi pic.To sa max232 bio je neki programator za dekodiranje kasetofona i sigurno radi samo za razliku od sema na intrnetu njemu idu sa max232 4 pina prema seriskom portu kompjutera,7. , 8,<br />
13. , i  14. pin a na pic sam probao i sa 9. i 10. i sa 11. i 12. pin na RX-TX. Probao i sa nekoliko kristala i u programu<br />
menjao od 9600 do 115200 i uvek isto.Ako moze neka pomoc bilo bi dobrodoslo,najvise mislim da nije dobar bootloader koji se nalazio u samoj instalaciji sa <span style="color: #333333;" class="mycode_color"><span style="font-size: small;" class="mycode_size"><span style="font-family: Tahoma, Verdana, Arial, sans-serif;" class="mycode_font">TinyPicBootloader+ (v0.6.4).</span></span></span>]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[HI TECH C kompajleri download]]></title>
			<link>https://forum.yu3ma.net/showthread.php?tid=2533</link>
			<pubDate>Wed, 27 Jan 2021 09:45:08 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://forum.yu3ma.net/member.php?action=profile&uid=129">dlalkovic</a>]]></dc:creator>
			<guid isPermaLink="false">https://forum.yu3ma.net/showthread.php?tid=2533</guid>
			<description><![CDATA[<a href="ftp://Compilers-RO:C0mP!0511@ftp.microchip.com/" target="_blank" rel="noopener" class='oembed'>ftp://Compilers-RO:C0mP!0511@ftp.microchip.com/</a>]]></description>
			<content:encoded><![CDATA[<a href="ftp://Compilers-RO:C0mP!0511@ftp.microchip.com/" target="_blank" rel="noopener" class='oembed'>ftp://Compilers-RO:C0mP!0511@ftp.microchip.com/</a>]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Frekvencmetar u PB. Nikako da ozivi]]></title>
			<link>https://forum.yu3ma.net/showthread.php?tid=2469</link>
			<pubDate>Sun, 11 Oct 2020 07:31:46 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://forum.yu3ma.net/member.php?action=profile&uid=726">MILANNN</a>]]></dc:creator>
			<guid isPermaLink="false">https://forum.yu3ma.net/showthread.php?tid=2469</guid>
			<description><![CDATA[Ovo sam odavno pronasao i pokusavao kad kako imam vremena da napravim ali nikako da proradi.Pronalazio sam neka objasnjenja ali nista u pic basic-u uvezi ovog programa pa ako neko zna gde je ovde greska da je ispravimo.Ja sam ovde samo dodao komande za lcd displej.<br />
<br />
<br />
<blockquote class="mycode_quote"><cite>Quote:</cite>DEFINE LCD_BITS 4<br />
 DEFINE LCD_DREG PORTB<br />
 DEFINE LCD_DBIT 4<br />
 DEFINE LCD_RSREG PORTB<br />
 DEFINE LCD_RSBIT 2<br />
 DEFINE LCD_EREG PORTB<br />
 DEFINE LCD_EBIT 0<br />
 DEFINE LCD_RWREG PORTB<br />
 DEFINE LCD_RWBIT 3<br />
 DEFINE LCD_LINES 2<br />
 pause 100 <br />
<br />
   <br />
   <br />
 capture  VAR PIR1.2    ' CCP1 capture flag<br />
 overflow VAR PIR1.1    ' Timer1 overflow flag<br />
 period  VAR WORD      ' Word variable that stores the value<br />
 broj var word<br />
 TMR1_Vred Var word<br />
 TMR1_Vred = 64536  <br />
   CCP1CON = %00000100 ' Enable the CCP1 capture, falling edge<br />
   T1CON = %00000011  ' TMR1 prescale=1, and turn it on (1uS per count)<br />
 <br />
 mainloop:<br />
   IF (capture = 0) Then mainloop ' Wait here until captured <br />
   TMR1L = TMR1_Vred.lowbyte  'Postavi TMR1 na 64536<br />
   TMR1H = TMR1_Vred.highbyte<br />
   period.lowbyte = CCPR1L  ' Store the captured value in<br />
   period.highbyte = CCPR1H  ' period variable<br />
         <br />
   IF overflow = 0 Then      ' Skip the output if the timer overflowed<br />
       lcdout &#36;FE, &#36;80, "BROJ=",#period<br />
   EndIF<br />
   capture = 0  ' Clear the capture flag<br />
      <br />
 reset:<br />
   IF (capture = 0) Then reset ' Wait for beginning of next period<br />
   TMR1L = 0    ' Clear Timer1 low register<br />
   TMR1H = 0    ' Clear Timer1 high register<br />
   capture = 0  ' Clear capture flag<br />
   overflow = 0  ' Clear overflow flag<br />
   <br />
   GoTo mainloop ' Do it forever<br />
         <br />
   End</blockquote>
]]></description>
			<content:encoded><![CDATA[Ovo sam odavno pronasao i pokusavao kad kako imam vremena da napravim ali nikako da proradi.Pronalazio sam neka objasnjenja ali nista u pic basic-u uvezi ovog programa pa ako neko zna gde je ovde greska da je ispravimo.Ja sam ovde samo dodao komande za lcd displej.<br />
<br />
<br />
<blockquote class="mycode_quote"><cite>Quote:</cite>DEFINE LCD_BITS 4<br />
 DEFINE LCD_DREG PORTB<br />
 DEFINE LCD_DBIT 4<br />
 DEFINE LCD_RSREG PORTB<br />
 DEFINE LCD_RSBIT 2<br />
 DEFINE LCD_EREG PORTB<br />
 DEFINE LCD_EBIT 0<br />
 DEFINE LCD_RWREG PORTB<br />
 DEFINE LCD_RWBIT 3<br />
 DEFINE LCD_LINES 2<br />
 pause 100 <br />
<br />
   <br />
   <br />
 capture  VAR PIR1.2    ' CCP1 capture flag<br />
 overflow VAR PIR1.1    ' Timer1 overflow flag<br />
 period  VAR WORD      ' Word variable that stores the value<br />
 broj var word<br />
 TMR1_Vred Var word<br />
 TMR1_Vred = 64536  <br />
   CCP1CON = %00000100 ' Enable the CCP1 capture, falling edge<br />
   T1CON = %00000011  ' TMR1 prescale=1, and turn it on (1uS per count)<br />
 <br />
 mainloop:<br />
   IF (capture = 0) Then mainloop ' Wait here until captured <br />
   TMR1L = TMR1_Vred.lowbyte  'Postavi TMR1 na 64536<br />
   TMR1H = TMR1_Vred.highbyte<br />
   period.lowbyte = CCPR1L  ' Store the captured value in<br />
   period.highbyte = CCPR1H  ' period variable<br />
         <br />
   IF overflow = 0 Then      ' Skip the output if the timer overflowed<br />
       lcdout &#36;FE, &#36;80, "BROJ=",#period<br />
   EndIF<br />
   capture = 0  ' Clear the capture flag<br />
      <br />
 reset:<br />
   IF (capture = 0) Then reset ' Wait for beginning of next period<br />
   TMR1L = 0    ' Clear Timer1 low register<br />
   TMR1H = 0    ' Clear Timer1 high register<br />
   capture = 0  ' Clear capture flag<br />
   overflow = 0  ' Clear overflow flag<br />
   <br />
   GoTo mainloop ' Do it forever<br />
         <br />
   End</blockquote>
]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Kako vezati lcd na 12f675 u pic basic]]></title>
			<link>https://forum.yu3ma.net/showthread.php?tid=2269</link>
			<pubDate>Tue, 15 Oct 2019 20:46:09 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://forum.yu3ma.net/member.php?action=profile&uid=726">MILANNN</a>]]></dc:creator>
			<guid isPermaLink="false">https://forum.yu3ma.net/showthread.php?tid=2269</guid>
			<description><![CDATA[Pokusavam da na 12f675 povezem lcd 16x2 displej preko 4094 i nikako da proradi.Nisam to nikad probao na pic sa 8 pina i iskreno nemam poima kako,nalazio sam nesto na internetu ali slaba vajda pa sad ako moze pomoc,kako tu definisati displej i kako ga povezati.Ispada da trazim sve na tanjiru ali sam se nesnalazim.Ako ima neki bilokakav projekat ili neka adresa bilo bi mi od pomoci.U pitanju je Pic Basic.]]></description>
			<content:encoded><![CDATA[Pokusavam da na 12f675 povezem lcd 16x2 displej preko 4094 i nikako da proradi.Nisam to nikad probao na pic sa 8 pina i iskreno nemam poima kako,nalazio sam nesto na internetu ali slaba vajda pa sad ako moze pomoc,kako tu definisati displej i kako ga povezati.Ispada da trazim sve na tanjiru ali sam se nesnalazim.Ako ima neki bilokakav projekat ili neka adresa bilo bi mi od pomoci.U pitanju je Pic Basic.]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Problem sa direktnim upisom u flash]]></title>
			<link>https://forum.yu3ma.net/showthread.php?tid=2174</link>
			<pubDate>Tue, 16 Apr 2019 09:54:52 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://forum.yu3ma.net/member.php?action=profile&uid=757">gorankg</a>]]></dc:creator>
			<guid isPermaLink="false">https://forum.yu3ma.net/showthread.php?tid=2174</guid>
			<description><![CDATA[Radio sam sve sto mi je palo na pamet ali PIC24FJ256GB106 nece da upise sadrzaj u interni flash preko adrese 0x200F8.<br />
Dakle, do nje sve radi OK, upise i u nju ali vec u 0x200FA nece da mu das cokoloadu.<br />
<br />
Evo slike kako izgledaju memorijske lokacije nakon upisa.<br />
<br />
Evo i najglupljeg moguceg koda kojim sam testirao. Ima li neko ideju? <br />
<br />
<br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>#include &lt;p24Fxxxx.h&gt;<br />
#include "GenericTypeDefs.h"<br />
 <br />
<br />
    _CONFIG1( JTAGEN_OFF &amp; GCP_OFF &amp; GWRP_OFF &amp; FWDTEN_OFF &amp; ICS_PGx2) <br />
    _CONFIG2( PLL_96MHZ_ON &amp; IESO_OFF &amp; FCKSM_CSDCMD &amp; OSCIOFNC_ON &amp; POSCMOD_HS &amp; FNOSC_PRIPLL &amp; PLLDIV_DIV3 &amp; IOL1WAY_ON)<br />
    _CONFIG3( WPDIS_WPDIS )<br />
            <br />
void WriteLatch(WORD page, WORD addrLo, WORD dataHi, WORD dataLo);<br />
void WriteFlash(DWORD_VAL addr, unsigned char data);<br />
<br />
<br />
int main(void)<br />
{<br />
   //init LED's<br />
    LATG &amp;= 0xFC3F; TRISG &amp;= 0xFC3F; LATF &amp;= 0xFFCF; TRISF &amp;= 0xFFCF; //G6,7,8,9 and F4,5<br />
    TRISF |= 0x0030;<br />
    TRISG |= 0x0300;<br />
    TRISG &amp;= 0x00C0;<br />
<br />
unsigned char data;<br />
DWORD_VAL sourceAddr; <br />
<br />
    data = 'P';<br />
    sourceAddr.Val = 0x200F0;<br />
    WriteFlash(sourceAddr, data); <br />
<br />
    data = 'I';<br />
    sourceAddr.Val = 0x200F2;<br />
    WriteFlash(sourceAddr, data); <br />
    <br />
    data = 'C';<br />
    sourceAddr.Val = 0x200F4;<br />
    WriteFlash(sourceAddr, data); <br />
<br />
    data = '2';<br />
    sourceAddr.Val = 0x200F6;<br />
    WriteFlash(sourceAddr, data); <br />
<br />
    data = '4';<br />
    sourceAddr.Val = 0x200F8;<br />
    WriteFlash(sourceAddr, data); <br />
<br />
    data = 'F';<br />
    sourceAddr.Val = 0x200FA;<br />
    WriteFlash(sourceAddr, data); <br />
 <br />
    data = 'J';<br />
    sourceAddr.Val = 0x200FC;<br />
    WriteFlash(sourceAddr, data); <br />
  <br />
    TRISF ^= 0x0030;<br />
    while(1)<br />
    {<br />
    }<br />
<br />
    return 0;<br />
        <br />
}<br />
<br />
void WriteLatch(WORD page, WORD addrLo, WORD dataHi, WORD dataLo)<br />
{<br />
 TBLPAG = page;<br />
<br />
 __builtin_tblwtl(addrLo, dataLo);<br />
 __builtin_tblwth(addrLo, dataHi);<br />
 <br />
} <br />
<br />
<br />
void WriteFlash(DWORD_VAL addr, unsigned char data)<br />
{<br />
unsigned char i = 0;<br />
DWORD_VAL tmp;<br />
<br />
 NVMCON = 0x4003;<br />
<br />
    asm("clrwdt");<br />
<br />
 tmp.v[0] = data;<br />
 tmp.v[1] = 0;<br />
 tmp.v[2] = 0;<br />
 tmp.v[3] = 0;<br />
<br />
 //write data into latches<br />
    WriteLatch(addr.word.HW, addr.word.LW, tmp.word.HW, tmp.word.LW);<br />
<br />
 //execute write sequence<br />
    __builtin_disi(5);<br />
    __builtin_write_NVM();<br />
    while(NVMCONbits.WR == 1);<br />
    <br />
 NVMCONbits.WREN = 0; <br />
<br />
}</code></div></div>Dakle, kod treba da upise: "PIC24FJ" a vidi se samo "PIC24"<br />
'F' treba  da bude na lokaciji 0x200FA a 'J' na lokaciji 0x200FC<br /><!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://forum.yu3ma.net/images/attachtypes/image.gif" title="JPG Image" border="0" alt=".jpg" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=29687" target="_blank" title="">memloc.jpg</a> (Size: 11,05 KB / Downloads: 10)
<!-- end: postbit_attachments_attachment -->]]></description>
			<content:encoded><![CDATA[Radio sam sve sto mi je palo na pamet ali PIC24FJ256GB106 nece da upise sadrzaj u interni flash preko adrese 0x200F8.<br />
Dakle, do nje sve radi OK, upise i u nju ali vec u 0x200FA nece da mu das cokoloadu.<br />
<br />
Evo slike kako izgledaju memorijske lokacije nakon upisa.<br />
<br />
Evo i najglupljeg moguceg koda kojim sam testirao. Ima li neko ideju? <br />
<br />
<br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>#include &lt;p24Fxxxx.h&gt;<br />
#include "GenericTypeDefs.h"<br />
 <br />
<br />
    _CONFIG1( JTAGEN_OFF &amp; GCP_OFF &amp; GWRP_OFF &amp; FWDTEN_OFF &amp; ICS_PGx2) <br />
    _CONFIG2( PLL_96MHZ_ON &amp; IESO_OFF &amp; FCKSM_CSDCMD &amp; OSCIOFNC_ON &amp; POSCMOD_HS &amp; FNOSC_PRIPLL &amp; PLLDIV_DIV3 &amp; IOL1WAY_ON)<br />
    _CONFIG3( WPDIS_WPDIS )<br />
            <br />
void WriteLatch(WORD page, WORD addrLo, WORD dataHi, WORD dataLo);<br />
void WriteFlash(DWORD_VAL addr, unsigned char data);<br />
<br />
<br />
int main(void)<br />
{<br />
   //init LED's<br />
    LATG &amp;= 0xFC3F; TRISG &amp;= 0xFC3F; LATF &amp;= 0xFFCF; TRISF &amp;= 0xFFCF; //G6,7,8,9 and F4,5<br />
    TRISF |= 0x0030;<br />
    TRISG |= 0x0300;<br />
    TRISG &amp;= 0x00C0;<br />
<br />
unsigned char data;<br />
DWORD_VAL sourceAddr; <br />
<br />
    data = 'P';<br />
    sourceAddr.Val = 0x200F0;<br />
    WriteFlash(sourceAddr, data); <br />
<br />
    data = 'I';<br />
    sourceAddr.Val = 0x200F2;<br />
    WriteFlash(sourceAddr, data); <br />
    <br />
    data = 'C';<br />
    sourceAddr.Val = 0x200F4;<br />
    WriteFlash(sourceAddr, data); <br />
<br />
    data = '2';<br />
    sourceAddr.Val = 0x200F6;<br />
    WriteFlash(sourceAddr, data); <br />
<br />
    data = '4';<br />
    sourceAddr.Val = 0x200F8;<br />
    WriteFlash(sourceAddr, data); <br />
<br />
    data = 'F';<br />
    sourceAddr.Val = 0x200FA;<br />
    WriteFlash(sourceAddr, data); <br />
 <br />
    data = 'J';<br />
    sourceAddr.Val = 0x200FC;<br />
    WriteFlash(sourceAddr, data); <br />
  <br />
    TRISF ^= 0x0030;<br />
    while(1)<br />
    {<br />
    }<br />
<br />
    return 0;<br />
        <br />
}<br />
<br />
void WriteLatch(WORD page, WORD addrLo, WORD dataHi, WORD dataLo)<br />
{<br />
 TBLPAG = page;<br />
<br />
 __builtin_tblwtl(addrLo, dataLo);<br />
 __builtin_tblwth(addrLo, dataHi);<br />
 <br />
} <br />
<br />
<br />
void WriteFlash(DWORD_VAL addr, unsigned char data)<br />
{<br />
unsigned char i = 0;<br />
DWORD_VAL tmp;<br />
<br />
 NVMCON = 0x4003;<br />
<br />
    asm("clrwdt");<br />
<br />
 tmp.v[0] = data;<br />
 tmp.v[1] = 0;<br />
 tmp.v[2] = 0;<br />
 tmp.v[3] = 0;<br />
<br />
 //write data into latches<br />
    WriteLatch(addr.word.HW, addr.word.LW, tmp.word.HW, tmp.word.LW);<br />
<br />
 //execute write sequence<br />
    __builtin_disi(5);<br />
    __builtin_write_NVM();<br />
    while(NVMCONbits.WR == 1);<br />
    <br />
 NVMCONbits.WREN = 0; <br />
<br />
}</code></div></div>Dakle, kod treba da upise: "PIC24FJ" a vidi se samo "PIC24"<br />
'F' treba  da bude na lokaciji 0x200FA a 'J' na lokaciji 0x200FC<br /><!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://forum.yu3ma.net/images/attachtypes/image.gif" title="JPG Image" border="0" alt=".jpg" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=29687" target="_blank" title="">memloc.jpg</a> (Size: 11,05 KB / Downloads: 10)
<!-- end: postbit_attachments_attachment -->]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[PIC16F628A zakljucan (ili sprzen)]]></title>
			<link>https://forum.yu3ma.net/showthread.php?tid=2060</link>
			<pubDate>Mon, 10 Dec 2018 16:48:14 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://forum.yu3ma.net/member.php?action=profile&uid=780">Dragan83</a>]]></dc:creator>
			<guid isPermaLink="false">https://forum.yu3ma.net/showthread.php?tid=2060</guid>
			<description><![CDATA[Problem je sledeci, skoro sam pravio neki frekvencmetar sa PIC16F628A i prilikom prvog ucitavanja hex-a frekvencmetar radi ali kad vratim cip ponovo u programator on ga vise neprepoznaje u pocetku sam mislio da mozda nesto nije uredu sa programom PICkit 2  ali paralelno sam probavao da iscitavam neke druge programe iz drugih cipova i sve radi ok, probao sam na jos dva cipa da uradim istu stvar reko mozda cipovi nisu ok  ali ista situacija i sa njima, posle sam probao preko starog JDM programatora da izbrisem program sa cipova ali se stvar zakomlikovala jos vise sad ih ne prepoznaje ni jedan programator a nece ni da rade kad ih ubacim u frekvencmetar, interesuje me dali je moguce da je preko hexa pic zakkljucan i imali tu leka da se to otkljuca ili sta vec.<br /><!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://forum.yu3ma.net/images/attachtypes/image.gif" title="PNG Image" border="0" alt=".png" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=27999" target="_blank" title="">lcd_counter.png</a> (Size: 12,54 KB / Downloads: 19)
<!-- end: postbit_attachments_attachment --><br /><!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://forum.yu3ma.net/images/attachtypes/txt.gif" title="" border="0" alt=".c" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=28000" target="_blank" title="">lcd16mhz.c</a> (Size: 4,83 KB / Downloads: 7)
<!-- end: postbit_attachments_attachment -->]]></description>
			<content:encoded><![CDATA[Problem je sledeci, skoro sam pravio neki frekvencmetar sa PIC16F628A i prilikom prvog ucitavanja hex-a frekvencmetar radi ali kad vratim cip ponovo u programator on ga vise neprepoznaje u pocetku sam mislio da mozda nesto nije uredu sa programom PICkit 2  ali paralelno sam probavao da iscitavam neke druge programe iz drugih cipova i sve radi ok, probao sam na jos dva cipa da uradim istu stvar reko mozda cipovi nisu ok  ali ista situacija i sa njima, posle sam probao preko starog JDM programatora da izbrisem program sa cipova ali se stvar zakomlikovala jos vise sad ih ne prepoznaje ni jedan programator a nece ni da rade kad ih ubacim u frekvencmetar, interesuje me dali je moguce da je preko hexa pic zakkljucan i imali tu leka da se to otkljuca ili sta vec.<br /><!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://forum.yu3ma.net/images/attachtypes/image.gif" title="PNG Image" border="0" alt=".png" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=27999" target="_blank" title="">lcd_counter.png</a> (Size: 12,54 KB / Downloads: 19)
<!-- end: postbit_attachments_attachment --><br /><!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://forum.yu3ma.net/images/attachtypes/txt.gif" title="" border="0" alt=".c" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=28000" target="_blank" title="">lcd16mhz.c</a> (Size: 4,83 KB / Downloads: 7)
<!-- end: postbit_attachments_attachment -->]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Merenje periode pomocu pic basica]]></title>
			<link>https://forum.yu3ma.net/showthread.php?tid=2050</link>
			<pubDate>Tue, 27 Nov 2018 19:31:49 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://forum.yu3ma.net/member.php?action=profile&uid=726">MILANNN</a>]]></dc:creator>
			<guid isPermaLink="false">https://forum.yu3ma.net/showthread.php?tid=2050</guid>
			<description><![CDATA[Pozdrav svima.Nisam nesto odmakao u programiranju,probao nesto ali neide pa ako neko moze i ako ovo neoduzima vreme racite mi sta da izmenim.Ovo je neki gorov kod tajmera koji sam prepravio i na kome sam hteo da dodam da pokaze koliko uSek traje neka merioda.Probao ovo nabrzinu ali vidim da nesto neide.Napisao sam da dok je   porta.0=1 <br />
tj dok traje taj pozitivni deo koji merimo odbrojava mS=mS+1 i kad vise nebude porta.0 na 1 onda da ispise koliko je izbrojao ali ... nece. Probao sam samo u proteusu ovako:<br />
<br />
 <br />
DEFINE LCD_BITS 4<br />
DEFINE LCD_DREG PORTB<br />
DEFINE LCD_DBIT 4<br />
DEFINE LCD_RSREG PORTB<br />
DEFINE LCD_RSBIT 2<br />
DEFINE LCD_EREG PORTB<br />
DEFINE LCD_EBIT 0<br />
DEFINE LCD_RWREG PORTB<br />
DEFINE LCD_RWBIT 3<br />
DEFINE LCD_LINES 2<br />
pause 100 <br />
<br />
  <br />
  mS  Var Word     'Promenljiva za milisekunde<br />
  TRISA=%00000011  <br />
    <br />
    <br />
     <br />
<br />
Inicijalizacija:<br />
<br />
INTCON.5 = 0   'Onemoguci TMR0 prekide<br />
<br />
<br />
<br />
<br />
OPTION_REG.0 = 0    <br />
OPTION_REG.1 = 0   <br />
OPTION_REG.2 = 0 <br />
OPTION_REG.3 = 0 <br />
<br />
OPTION_REG.5 = 0 'Izaberi Interni takt<br />
OPTION_REG.7 = 1 <br />
<br />
TMR0 = &#36;FF   'Postavi vrednost TMR0 <br />
<br />
INTCON.5 = 1 'Omoguci TMR0 prekide<br />
INTCON.7 = 1 'Omoguci sve prekide<br />
<br />
    ON INTERRUPT goto Int_Sub<br />
<br />
Pocetak:<br />
<br />
<br />
lcdout &#36;FE, &#36;80, "BROJ=" ,DEC4  Ms<br />
pause 100<br />
GOTO POCETAK<br />
<br />
  <br />
'------Podprogram obrade prekida-----------------------<br />
       Disable<br />
Int_Sub:<br />
    IF PORTA.0=1  THEN  ' kad se pojavi perioda koju merimo<br />
    INTCON.7 = 0<br />
    <br />
If INTCON.2 and INTCON.5  Then<br />
  INTCON.2 = 0<br />
   mS = mS + 1<br />
 <br />
ENDIF  <br />
EndIf<br />
     <br />
    INTCON.7 = 1  'Omoguci prekide<br />
    INTCON.5 = 1  'Omoguci prekide<br />
<br />
     <br />
    Resume        'Vrati se iz rutine prekida<br />
    End]]></description>
			<content:encoded><![CDATA[Pozdrav svima.Nisam nesto odmakao u programiranju,probao nesto ali neide pa ako neko moze i ako ovo neoduzima vreme racite mi sta da izmenim.Ovo je neki gorov kod tajmera koji sam prepravio i na kome sam hteo da dodam da pokaze koliko uSek traje neka merioda.Probao ovo nabrzinu ali vidim da nesto neide.Napisao sam da dok je   porta.0=1 <br />
tj dok traje taj pozitivni deo koji merimo odbrojava mS=mS+1 i kad vise nebude porta.0 na 1 onda da ispise koliko je izbrojao ali ... nece. Probao sam samo u proteusu ovako:<br />
<br />
 <br />
DEFINE LCD_BITS 4<br />
DEFINE LCD_DREG PORTB<br />
DEFINE LCD_DBIT 4<br />
DEFINE LCD_RSREG PORTB<br />
DEFINE LCD_RSBIT 2<br />
DEFINE LCD_EREG PORTB<br />
DEFINE LCD_EBIT 0<br />
DEFINE LCD_RWREG PORTB<br />
DEFINE LCD_RWBIT 3<br />
DEFINE LCD_LINES 2<br />
pause 100 <br />
<br />
  <br />
  mS  Var Word     'Promenljiva za milisekunde<br />
  TRISA=%00000011  <br />
    <br />
    <br />
     <br />
<br />
Inicijalizacija:<br />
<br />
INTCON.5 = 0   'Onemoguci TMR0 prekide<br />
<br />
<br />
<br />
<br />
OPTION_REG.0 = 0    <br />
OPTION_REG.1 = 0   <br />
OPTION_REG.2 = 0 <br />
OPTION_REG.3 = 0 <br />
<br />
OPTION_REG.5 = 0 'Izaberi Interni takt<br />
OPTION_REG.7 = 1 <br />
<br />
TMR0 = &#36;FF   'Postavi vrednost TMR0 <br />
<br />
INTCON.5 = 1 'Omoguci TMR0 prekide<br />
INTCON.7 = 1 'Omoguci sve prekide<br />
<br />
    ON INTERRUPT goto Int_Sub<br />
<br />
Pocetak:<br />
<br />
<br />
lcdout &#36;FE, &#36;80, "BROJ=" ,DEC4  Ms<br />
pause 100<br />
GOTO POCETAK<br />
<br />
  <br />
'------Podprogram obrade prekida-----------------------<br />
       Disable<br />
Int_Sub:<br />
    IF PORTA.0=1  THEN  ' kad se pojavi perioda koju merimo<br />
    INTCON.7 = 0<br />
    <br />
If INTCON.2 and INTCON.5  Then<br />
  INTCON.2 = 0<br />
   mS = mS + 1<br />
 <br />
ENDIF  <br />
EndIf<br />
     <br />
    INTCON.7 = 1  'Omoguci prekide<br />
    INTCON.5 = 1  'Omoguci prekide<br />
<br />
     <br />
    Resume        'Vrati se iz rutine prekida<br />
    End]]></content:encoded>
		</item>
	</channel>
</rss>