Mannen goedenmorgen,
Een aantal vragen over UART.
- Zit de UART in een PIC op een vaste pin?
- Met welk commando, in PICBasic, kan ik de UART oproepen?
- Zijn er 8pin PIC's die de UART ook ondersteunen?
Hoe kan ik het beste een PIC kiezen?
Nu wil ik bijvoorbeeld een PIC met 8 pinnen en UART ondersteuning. Nu weet ik alsnog niet welke PIC's deze specificaties hebben. Hoe kom ik daar toch achter?
Alvast bedankt,
Bob
Dtatsheetje lezen daar staan de meeste dingen wel in.
wat betreft picbasic daar zal ook wel iets van een manual bij zitten.
Kijk eens bij de selectie tool op www.microchip.com
1. Ja, de UART zit op 2 vaste pinnen. Had je ook in een datasheet kunnen zien.
2. Dat zal je ongetwijfeld op www.picbasic.nl kunnen vinden.
3. Op www.microchip.com krijg je een hele lijst te zien met detailinfo over de PICjes. Daar kun je precies op zien welke PICjes een UART hebben.
Op Picbasic.nl heb ik niets over de uart kunnen vinden.
Op die site van microchip kom ik er dus achter dat er geen 8pin pic's bestaan met uart? 
EdwinNadorp
Koop hier uw kristallen bol - in 2008 ga ik m'n projecten afmaken, echt waar ....... nouja in 2009 dan ..... ehh 2010 ....
Frits Kieftenbelt
Ohm sweet Ohm | www.picbasic.nl
Voor PIC Basic moet je de instructies HSERIN en HSEROUT of HRSIN en HRSOUT gebruiken (let op de H voor de instructies).
De UART zit op vaste pinnen (bekijk de datasheet).
Er komt nog wel iets over de UART op picbasic.nl maar heb hier nog steeds geen tijd voor 
Dan ga ik voor de 16F688.
Ik heb er een aantal bij Wouter besteld.
@Frits, ik ga eens wat proberen met de commando's die jij geeft.
Picbasic heeft best wel een duidelijk help file, dus daar kom ik wel uit.
Als ik het eenmaal onder de knie heb kan ik misschien wel wat voor je website maken.
ik heb in het verleden daar simpele voorbeelden voor geschreven, incl. de valkuilen waar je tegen aan kunt lopen.
even zoeken, staan hier ergens.was allen wel voor een pic 16F628(a) zeg maar de standaard van frits zijn cursus
@shiptronic, heb je nog wat voorbeelden?
Dit heb ik nu als ontvangst module
Device 16F688
Config MCLRE_OFF, INTRC_OSC_NOCLKOUT, WDT_OFF, PWRTE_ON
ALL_DIGITAL TRUE
HSERIAL_BAUD = 9600
Symbol RF = PORTC.4
Symbol Relais = PORTC.3
Dim var1 As Byte
main:
HSerIn [Wait( "Bob" ) , var1]
Relais = 1
DelayMS 100
timeout:
GoTo main
Enddit als zendmodule
Device 16F688
Config MCLRE_OFF, INTRC_OSC_NOCLKOUT, WDT_OFF, PWRTE_ON
ALL_DIGITAL TRUE
Symbol RF = PORTC.4
Symbol S1 = PORTC.3
While 1 = 1
If S1 = 0 Then
HSerOut ["Bob"]
EndIf
Wend
EndIn mijn ogen kan het niet zo simpel zijn 
Zo simpel is het ook niet want het werkt niet -_-'
[Bericht gewijzigd door Boeip op (90%)]
Frits Kieftenbelt
Ohm sweet Ohm | www.picbasic.nl
Nee, je moet ook nog een waarde verzenden.
Dus HSEROUT ["Bob", Var1]
Heb je de baudrates ingesteld? (Zo te zien niet).
Bovendien is WAIT bij HSERIN eigenlijk niet nodig.
Ik schat nog een paar weken en dan heb ik m'n huis automatisering klaar en zal dan beginnen met wat voorbeelden van seriele communicatie op m'n site plaatsen.
DEVICE 16F628A ;Gebruik een 16F628A type
CONFIG INTRC_OSC_NOCLKOUT, WDT_OFF, PWRTE_ON, LVP_OFF, MCLRE_OFF
ALL_DIGITAL TRUE ;Alle ingangen digitaal
PORTB_PULLUPS ON
declare HSERIAL_BAUD 9600 'set baudrate op 9600
DEclare HSERIAL_RCSTA $90 ' << VUL DEZE WAAREN IN MET HET PROGRAMMA
Declare HSERIAL_TXSTA $24 ' << PIC multi CALC
DECLARE HSERIAL_CLEAR = ON ' reset buffer bij een overflow?
dim var1 as byte
while 1 = 1
HRSIN dec var1 ' ontvang een getal
delayms 50
if var1 = 1 then goto tekst1
if var1 = 2 then goto tekst2
wend 'Go back into the loop
tekst1:
while 1 = 1
hrsout " jouw tekst " , 13 , 10 ,
wend
tekst2:
while 1 = 1
hrsout " jouw tekst deel 2 " , 13 , 10 ,
wend
end
Alleen nog een max232 oid er tussen en je hebt een werkend menutje die je met Hyperterminal van windows kunt bedienen 
picsels
Volgend project: 7-seg gaming displays; dan dec-1982 labvoeding afmaken, dan funcgen met ad9833 afmaken, dan...
Op 5 april 2008 12:12:11 schreef Frits Kieftenbelt:
Ik schat nog een paar weken en dan heb ik m'n huis automatisering klaar en zal dan beginnen met wat voorbeelden van seriele communicatie op m'n site plaatsen.
Ben toevallig zelf bezig met een PIC-watchdog voor een webservertje en die (gaan) praten via de seriële poort.
Tip om bij je voorbeelden te zetten: het gebruik van de Str modifier kan leiden tot onverwachte resultaten. Lees: als je een string wilt zenden of ontvangen, breekt 'ie *altijd* af bij een 0-byte, ook als je dat via ...\x wilt forceren tot een langere string.
*klein schopje*
Edit: De inhoud van dit schopje staat in m'n vorige reply.
Maar alsnog m'n verhaaltje:
Tot zo ver wat ik nu heb:
Zend
Device 16F688
Config MCLRE_OFF, INTRC_OSC_NOCLKOUT, WDT_OFF, PWRTE_ON
ALL_DIGITAL TRUE
HSERIAL_BAUD = 9600 ' Set baud rate to 9600
HSERIAL_RCSTA = %10010000 ' Enable serial port and continuous receive
HSERIAL_TXSTA = %00100000 ' Enable transmit and asynchronous mode
HSERIAL_CLEAR = On ' Optionally clear the buffer before receiving
Symbol S1 = PORTC.3
Dim var1 As Byte
var1 = 1
While 1 = 1
If S1 = 0 Then
HSerOut [var1]
EndIf
Wend
EndOntvang
Device 16F688
Config MCLRE_OFF, INTRC_OSC_NOCLKOUT, WDT_OFF, PWRTE_ON
ALL_DIGITAL TRUE
HSERIAL_BAUD = 9600 ' Set baud rate to 9600
HSERIAL_RCSTA = %10010000 ' Enable serial port and continuous receive
HSERIAL_TXSTA = %00100000 ' Enable transmit and asynchronous mode
HSERIAL_CLEAR = On ' Optionally clear the buffer before receiving
Symbol Relais = PORTA.5
Dim var1 As Byte
main:
HSerIn 2000, timeout, [var1]
If var1 = 1 Then
Relais = 1
DelayMS 100
Else
GoTo main
EndIf
timeout:
GoTo main
EndAls ik meet op de uitgang van de zend UART, meet ik daar 5V
Druk ik het knopje in, dan meet ik 1V
Meet ik op de uitgang van de ontvang UART ( de andere PIC ) meet ik 0V
Druk ik het knopje in op de zend module, dan meet ik 1V
Een oud topic, voor mij echter nieuw.
Ik heb veel gegoogled en op het forum gekeken naar het onderwerp UART - PIC. Flarden van waar ik naar zoek zijn wel te vinden, maar ik mis toch het totaalplaatje.
Wat ik wil is een string verzenden vanaf de PC (USB) naar een PIC16F1847 die de inhoud van de string toont op een LED Matrix. (via MikroBasic programma).
Wat voor hardware heb ik hier nu voor nodig naast de PIC en de display?
Hoe sluit ik de usb kabel aan op de PIC? Apart moduultje? USB plug openmaken en solderen?
Welk programma gebruik ik nu op de PC om de string te verzenden? Of is dat gewoon in de Command box copy "tekst" > COM5 of zoiets?
Arco
Special Member
Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com
USB sluit je aan op een pic met USB poort, of op de UART via een USB naar UART omzetter als de CP2102
Voor testen voldoet ieder terminal programma. (bijv. HTerm )
Topic is meer dan tien jaar oud, begin iets nieuws!
Dat klopt, maar ik heb een achterstand van 35 jaar...Vandaar dat het voor mij 'nieuw is' 
USB sluit je aan op een pic met USB poort, of op de UART via een USB naar UART omzetter als de CP2102
Zoiets had ik inderdaad gezien. Op het boardje met de ESP32 zit ook een CP2102. Vermoedelijk is dat ook bruikbaar.
Op het boardje zit daarnaast een bluetooth en een WIfI.
Ik heb even geprobeerd om het aan te sluiten: USB op de PC (COM5) en de TX van het boardje naar RX van de PIC16F1847 ((Port B.1).
De TX van de PIC via APFCON1 naar Port B.5 verhuisd (anders bijt het de LED aansturing).
en de RX van het boardje naar de TX van de PIC.
Het werd dan zoiets:
APFCON1 = %00000001 'TX on PortB.5
SPI1_Init()
Max7219_Init()
Clear_Leds()
UART1_Init(4800) ' initialize UART module
Delay_ms(100)
if (UART1_Data_Ready() = 1) then ' if data is received
UART1_Read_Text(Str[0], "OK", 10) ' reads text until 'OK' found
end if
--- Display String on LEDS -----
Maar dit werkt niet. Wellicht iets vergeten? Of kan het helemaal niet zo.
De input deed ik even met copy 12345 OK > COM5
Hunter
Damn the torpedoes, full speed ahead!
Arco
Special Member
Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com
Wat zijn die UART pinnen op dat bordje? De uitgang van die CP2102, of een van de serieele poorten van die ESP module?
Op 22 februari 2020 16:27:06 schreef Hunter:
Het topic begint met achterhaalde informatie. Een nieuw topic kan dwaalsporen voorkomen.
Ok, ik ging er van uit dat het Forum zo min mogelijk Topics met dezelfde aard van vragen wilde, vandaar dat ik een bestaande koos.
Volgende keer dus nieuwe Topic starten, als de laatste post te oud is...
Arco
Special Member
Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com
Als je de interne processor wilt programmeren, waar heb je dan die pic voor nodig?
Ik gebruik de ESP's altijd stand-alone via hun serieele poort met een pic daaraan. Default zit er AT software in (modemcommando's)

