adnan_merter
Full Member level 3
- Joined
- Jan 23, 2008
- Messages
- 160
- Helped
- 6
- Reputation
- 12
- Reaction score
- 6
- Trophy points
- 1,298
- Location
- The most beautiful city of the world
- Activity points
- 2,526
getting wrong ascii characters!
hi all,
i have builded aa circuit that connects another device via rs232 and it works fine, so far everything alright
i can communicate the device with my computer by writing a simple program and it works fine too, no problem.
and i tried the same method with my pic, and a weird thing happened, some characters are received OK but most of them received 0x80 more, i mean character+0x80 for example pic is supposed to receive 0x41 but receives 0xC1 (0x42+0x80).
the more interesting thing is; when i simulate the same circuit in protheus is not fixed, so i decided this is not a problem about my design, it is about my pic.
i tried 16f877 and 18f2550 and nothing changed.
my fuse setting is:
and my rs232 configuration is:
i hope i could tell my problem clearly,
thanks
hi all,
i have builded aa circuit that connects another device via rs232 and it works fine, so far everything alright
i can communicate the device with my computer by writing a simple program and it works fine too, no problem.
and i tried the same method with my pic, and a weird thing happened, some characters are received OK but most of them received 0x80 more, i mean character+0x80 for example pic is supposed to receive 0x41 but receives 0xC1 (0x42+0x80).
the more interesting thing is; when i simulate the same circuit in protheus is not fixed, so i decided this is not a problem about my design, it is about my pic.
i tried 16f877 and 18f2550 and nothing changed.
my fuse setting is:
Code:
#include <18F2550.h>
#device adc=8
#FUSES NOWDT //No Watch Dog Timer
#FUSES WDT1024 //Watch Dog Timer uses 1:128 Postscale
#FUSES HSPLL //High Speed Crystal/Resonator with PLL enabled
#FUSES PROTECT //Code not protected from reading
#FUSES NOBROWNOUT //No brownout reset
#FUSES BORV20 //Brownout reset at 2.0V
#FUSES NOPUT //No Power Up Timer
#FUSES CPD //No EE protection
#FUSES STVREN //Stack full/underflow will cause reset
#FUSES NODEBUG //No Debug mode for ICD
#FUSES NOLVP //No low voltage prgming, B3(PIC16) or B5(PIC18) used for I/O
#FUSES NOWRT //Program memory not write protected
#FUSES NOWRTD //Data EEPROM not write protected
#FUSES IESO //Internal External Switch Over mode enabled
#FUSES FCMEN //Fail-safe clock monitor enabled
#FUSES PBADEN //PORTB pins are configured as analog input channels on RESET
#FUSES NOWRTC //configuration not registers write protected
#FUSES NOWRTB //Boot block not write protected
#FUSES NOEBTR //Memory not protected from table reads
#FUSES NOEBTRB //Boot block not protected from table reads
#FUSES NOCPB //No Boot Block code protection
#FUSES MCLR //Master Clear pin enabled
#FUSES LPT1OSC //Timer1 configured for low-power operation
#FUSES NOXINST //Extended set extension and Indexed Addressing mode disabled (Legacy mode)
#FUSES PLL5 //Divide By 5(20MHz oscillator input)
#FUSES CPUDIV1 //System Clock by 1
#FUSES USBDIV //USB clock source comes from PLL divide by 2
#FUSES VREGEN //USB voltage regulator enabled
#use delay(clock=48000000)
and my rs232 configuration is:
Code:
#use rs232(baud=300,parity=E,xmit=PIN_C6,rcv=PIN_C7,bits=7,STOP=1, stream = TARIFF,SAMPLE_EARLY)
i hope i could tell my problem clearly,
thanks