com2 ,problems with bit stop

Discussion specific to the 24-pin ZX microcontrollers, e.g. ZX-24r, ZX-24s and ZX-24t.
Post Reply
marcelo_bahia
Posts: 4
Joined: 15 May 2009, 10:44 AM
Location: argentine

com2 ,problems with bit stop

Post by marcelo_bahia »

I use the following configuration in Z24-P to transmit,com2 only tx pin11 8-p-2
(8 data bits, even parity, 2 stop bits at 115000.)
my problem is that no appear 2 stop bits y and alters the output bit
will have some problem with the progracion, which may be the error?
the z24 has a max232 connected, the images are a departure max232,view photo 8-p-1 (1 bit stop) and 8-p-2 (2 bit stop).

Code: Select all

Const txPin as Byte = 11
Const channel as Byte = 2 

Dim oq(1 to 40) as Byte

Dim b as Byte
Dim i as Byte
Dim Bstop as Byte

Sub Main() 
 Bstop=2
 b=75  'letter K in ascii 
   
  ' initialize the queues 
  Call OpenQueue(oq) 

  ' define the characteristics of the serial channel ,( channel 2,no Rx,only tx,8bitdata and 2bit parity even,bit stop) 
  Call DefineCom(2, 0,txPin, &H38,Bstop)
  
  ' open the serial channel 
  Call OpenCom(2, 115600, 0, oq) 
  
 do 
  'output port serie com2 micro  
  Call PutQueue(oq,b,1)
  Call PutQueue(oq,b,1)
 loop
[admin edit: added code tags]
Attachments
set 8-p-1.jpg
from Max232,Z24 set com2 tx
8bit parity even 1 bit stop
(60.92 KiB) Downloaded 2988 times
set 8-p-2.jpg
from Max232 tx ,Z24 set com2 tx
8bit Parity even 2 bit stop
(55.06 KiB) Downloaded 2218 times
com_2.bas
(616 Bytes) Downloaded 2287 times
Schematic Z24 max232.doc
(35.5 KiB) Downloaded 2323 times
dkinzer
Site Admin
Posts: 3120
Joined: 03 September 2005, 13:53 PM
Location: Portland, OR

Re: com2 ,problems with bit stop

Post by dkinzer »

marcelo_bahia wrote:my problem is that no appear 2 stop bits
You have discovered a previously undetected problem that seems to have been introduced around v2.5.0 of the VM. You can work around the issue by specifying a larger value for the stopBits parameter to DefineCom(), for example:

Code: Select all

Call DefineCom(2, 0, 0, &H38, 3)
This works because the maximum number of stop bits on a hardware UART channel is two and, as the documentation states, any value above 1 will select two stop bits.
- Don Kinzer
marcelo_bahia
Posts: 4
Joined: 15 May 2009, 10:44 AM
Location: argentine

Post by marcelo_bahia »

results

1)changing Call DefineCom(2, 0,0, &H38,3) ,for 2 stop bits as shown in photo 3 bit.jpg

2)changing Call DefineCom(2, 0,0, &H38,2) ,for 1 stop bits as shown in photo 2 bit.jpg

thank you Don
Attachments
3 bit.jpg
(59.75 KiB) Downloaded 2971 times
2 bit.jpg
(57.06 KiB) Downloaded 2974 times
Post Reply