[ Pulapola @ 10.08.2009. 11:32 ] @
| Poštovani,
Nov sam u programiranju mikrokontrolera te vas molim za pomoć.
Kupio sam EasyPIC5 i mikroBasic. Pokusavam po uputama iz knjige PC Interfejsi
autora V. Milanović napraviti LCD display 2x16 redova preko USB porta.
Pločicu sam napravio po shemi g. V. Milanovića i pokušavam ubaciti kod iz knjige
u PIC18F4550.
Kad u mikroBasic-u pokrenem Build prijavi mi grešku
u 2. redu: Identifier '8' was not declared
i u zadnjem redu:
Syntax error: Expected 'end' but '' found
Syntax error: Expected '.' but '' found
Code:
'Program za LCD display na USB portu
DEFINE OSC 8
DEFINE LCD_DREG PORTD 'I/O port gdje je LCD
DEFINE LCD_DBIT 4
DEFINE LCD_RSREG PORTD
DEFINE LCD_RSBIT 2 'Register select pin
DEFINE LCD_EREG PORTD
DEFINE LCD_EBIT 3 'Enable pin
DEFINE LCD_BITS 4 '4-bitni data bus
DEFINE LCD_LINES 2 'LCD ima dva reda karaktera
USBBufferSizeMax con 64 'Maksimalna velicina bufera
USBBufferSizeTX con 64 'Ulazni
USBBufferSizeRX con 64 'Izlazni
'USB buferi...
USBBuffer Var Byte[USBBufferSizeMax]
USBBufferCount Var Byte
i Var byte
Red1 Var byte[16]
Red2 Var byte[16]
TRISB = $00 'Port B je izlazni
ADCON1 = 15 'Svi pinovi su digitalni
usbinit 'Inicijalizacija USB-a...
ProgramStart:
gosub DoUSBIn
goto ProgramStart
'Prijem podataka sa USB basa
DoUSBIn:
USBBufferCount = USBBufferSizeRX 'Velicina RX buffera
USBService
USBIn 1, USBBuffer, USBBufferCount, DoUSBIn 'Citanje podataka
If USBBuffer[0] = 253 and USBBuffer[1] = 1 Then
For i = 2 To 17
Red1 [i-2] = Usbbuffer[i]
Next
Lcdout $fe, 1, STR Red1\16
EndIf
If USBBuffer[0] = 253 and USBBuffer[1] = 2 Then
For i = 2 To 17
Red2 [i-2] = Usbbuffer[i]
Next
Lcdout $fe, $C0, STR Red2\16
EndIf
return
'Slanje podataka sa USB-a
DoUSBOut:
USBBufferCount = USBBufferSizeTX 'Velicina TX buffera
USBService
USBOut 1, USBBuffer, USBBufferCount, DoUSBOut 'Slanje podataka
Return
Unaprijed HVALA. |
[ Seme @ 10.08.2009. 14:53 ] @
Kod iz knjige, tj. kod koji si postavio na forumu je pisan za PICBasic kompajler a ne za MicroBasic. Instaliraj PICBasic i probaj da onda kompajliras program. POzz
[ Pulapola @ 18.08.2009. 16:00 ] @
Pozdrav svima,
HVALA Miroslav na uputama.
I dalje prisutni problemi...
Instalirao sam MicroCode Studio V.3.0.0.5
i Compiler PICBASIC PRO 2.50B
Upisao sam program i kad pokrenem Compile prijavi mi:
ERROR: Macro USBINIT? not found in macro file.
ERROR: Macro USBSERVICE? not found in macro file.
ERROR: Macro USBIN?CBBL not found in macro file.
ERROR: Macro USBOUT?CBBL not found in macro file.
U Compile and Program Options, Compiler je na: C:\pbp
a Assembler je na: c:\mcc18\mpasm i uključena je kvačica
na Use MPASM. Svi Radio buttons uključeni su na INHX8M.
Instalirao sam i MPLAB-C18-Full-v3_10 i dalje ne mogu pronaći grešku.
Molim za pomoć.
Hvala i pozdrav svima.
[ Pulapola @ 19.08.2009. 17:03 ] @
Pozdrav svima,
Nakon ne prospavane noći proradio je PicBasic PRO. Zapisao sam podatke u PIC
i postavio ga u pločicu Eksperimentalno kolo (autor: V. Milanović).
PC je prepoznao Eksperimentalno kolo kao HID-Compliant device.
Kad pokrenem program u VB-u za ispis teksta u dva reda na display-u ne dođe ništa.
Ako trimer 5K okrenem do kraja u prvom redu display-a pojave se crni kvadrati
do kraja reda a u drugom redu ništa.
Obzirom da nisam uspio nabaviti display D16217SYH (koji preporučuje autor),
nabavio sam display 162D-BA-BC.
Sumnjam da nisam dobro spojio display na pločicu.
Pin Assignment za D16217SYH je:
1. Vss; 2. Vdd; 3. Vo; 4. RS; 5. R/W; 6. E; 7. DB0; 8. DB1; 9. DB2; 10. DB3;
11. DB4; 12. DB5; 13. DB6; 14. DB7
Pin Assignment za 162D-BA-BC je:
1. DB7; 2. DB6; 3. DB5; 4. DB4; 5. DB3; 6. DB2; 7. DB1; 8. DB0; 9. E; 10. R/W;
11. RS; 12. Vo; 13. Vss; 14. Vdd
Uspoređujući pin assignment prvog i drugog display-a spojio sam 1 na 13; 2 na 14 itd.
Molim iskusnije za pomoć kako da spojim display?
Pozdrav svima i hvala unaprijed.
[ Milan Eric @ 12.03.2010. 22:23 ] @
Mozes li da kazes kako si resio problem sa grekama, novim kompajlerom ili cime vec
Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.