Warning: Illegal string offset 'name' in [path]/includes/functions.php on line 6439
RS485, kā no PC nosūtīt 9 bitu datu paku

thread: RS485, kā no PC nosūtīt 9 bitu datu paku

  1. #1
    Senior Member
    Jul 2007
    Rīga, Lēdmane
    124

    RS485, kā no PC nosūtīt 9 bitu datu paku

    Sveicināti!

    Eksperimenta pēc gribētu pamēģināt saslēgt kopā vairākus Atmel 8-bit mikrokontrollerus, izmantojot RS485 līniju. Ar pašiem MCU viss it kā skaidrs. Viens ir kā master, pārējie slave, USART uzstādījumos 9 biti, no parity, 1 stop bits. 9. bits norāda tiek sūtīti dati, vai adrese.
    BET es kā master iekārtu gribu izmantot PC. Ir uztaisīts FT232RL + SN75176 adapteris. Diemžēl netieku skaidrībā kā no PC lai nosūta 9 bitus.
    Nekāds dižais programmētājs neesmu, līdz šim, sūtot 8 bitus, esmu rakstījis tikai Win32 konsoles programmas MS Visual C++. Datu nosūtīšana un saņemšana veiksmīgi izdevās ar WriteFile un ReadFile funkcijām. Bet tādā veidā laikam var nosūtīt tikai līdz 8 bitiem. Tad nu, kā lai nosūtu 9 bitu virkni, netieku gudrs...

    Paldies!

  2. #2
    Member
    Apr 2008
    70

    Re: RS485, kā no PC nosūtīt 9 bitu datu paku

    Paskaties datora com portu konfigurāciju, iespējams, ka tur var uzlikt 9 bitu režīmu.

    Alternatīvs variants ir izmantot vēl 1 mikrokontrolieri, kurš ar pārējiem sarunājas caur rs485, bet ar datoru caur kādu citu interfeisu (piem. rs232 vai usb).
    Lūk links ar dažādiem projektiem, kā atmel 8 bitu kontrolierus pieslēgt pie datora caur usb: http://www.obdev.at/products/vusb/index.html

  3. #3
    Senior Member
    Jul 2007
    Rīga, Lēdmane
    124

    Re: RS485, kā no PC nosūtīt 9 bitu datu paku

    9 bitus uzstādīt nevar ne iebūvētājam COM porta kontrolierim, ne FT232.
    Pamēģināšu vēl variantu, ka datus nosūta pa pakām un katrs pirmais baits norāda adresi. Tas gan sarežģīs programmu un prasīs vairāk resursus no visiem MCU, lai izanalizētu visus ienākošos datus.
    Multi-processor Communication Mode režīmu izmantot būtu ērtāk, jo tad liekie dati automātiski tiek atfiltrēti...

  4. #4
    Moderator
    Jan 2009
    Rīga
    4,422

    Re: RS485, kā no PC nosūtīt 9 bitu datu paku

    lai arii laikam vairs nav aktuaali, es saakutu kiimikjot un sarezhgiit visu procesu.
    no PC uz FR232rl (kaa man patiik shitaa mikrene). pa TXD un RXD suutam 8 bitus kaa parasti, pa vadiibas signaaliem RTS,DTS utt) iemaanam 9 bitu.
    teiksim DTR indicee vai mums ir 8 biti vai 9 biti (0-8bit/1-9bit mode). pa RTS deviitais bits. taalaak naak talkaa master MCU kontrolieris, kas runaas ar paareejiem 9 bit modee. MCU analizee DTR staavokli, ja 9 bit mode, tad njem veeraa RTS. Neskatoties ka teoreetiski ideja ir laba, tomeer praksee var rasties probleemas. Savulaik baroju seriaalo portu ar PL2303 (vai kaa tur vinju USB to serial) ar tainstruura impulsiem un konstateeju ziepes: ja uz vadiibas kaajaam dod impulsus, kuru frekvence ir lielaaka par 250 Hs, tad ports vairs nejuut ka tie signaali ir mainiijusies. Nezinu, kas pie taa vainiigs: mans generators, USB ports vai PC, bet vij taa ka nestraadaaja. Pagaidaam uz fr232rl neesmu veicis shitaadus experimentus laika truukuma deelj. Vbet tuvaakajaa laikaa shis jautaajusm aktualizeesies arii uz fr232rl. Taatad truukumi: var gadiities ka straadaas, bet ar aatrumiem liidz 250 bitiem sekundee, jaaizmanto master MCU ar 2 seriaalajiem portiem. PC softs paliek specifisks un kaut kas jaakodee pasham.
    Secinaajums, shito triku ir jeega taisiit tikai iipashos un specifiskos gadiijumos.

  5. #5
    Moderator
    Jan 2009
    Rīga
    4,422

    Re: RS485, kā no PC nosūtīt 9 bitu datu paku

    ja kaadu veel interesee: man izdevaas ieksh ft232rl mikrenes iepuust taisnstuuri 400 Hz un kompis uzskaitiija. taatad teoreetiski var dabuut 9 bitiigu aatrumu liidz 400 bitiem sekundee. Itkaa standarta aatrumu 300 bitus 9-bitu rezhiimaa vareetu suutiit ar taadu kiimiju.

  6. #6
    Senior Member
    Nov 2005
    Latvija, Kuldīga
    1,059

    Re: RS485, kā no PC nosūtīt 9 bitu datu paku

    Ar FT232RL kaut kādu ķīmiju uztaisīt laikam var. Reiz eksperimentēju ar DMX512 vadību no datora, tur bija tāda lieta, ka datu pakas sākumu apzīmēja ar >10 bitus garu loģisko "1". Tālāk gan dati tika sūtīti 8N2. Tikai nevar jau tikt tās programmas source, lai saprastu, kas un kā tiek sūtīts.
    Ja jau pa starpu liek kādu kontrolleru, tad jau tikpat labi var uz to sūtīt 2 baitus pa 8 bitiem, bet pa RS485 tos pārveidot uz 9bitu.
    Signalizācijas, videovērošanas ierīkošana Kuldīgā.
    Temperatūras, gaisa mitruma, atmosfēras spiediena u.c. mērījumi, to publicēšana internetā. Data logging.
    http://narodmon.ru/1191

  1. : 0
    : 02-06-2009, 09:53
  2. : 9
    : 25-03-2009, 11:04
  3. : 4
    : 29-06-2007, 14:37
  4. : 0
    : 13-04-2007, 17:35
  5. : 21
    : 12-03-2007, 15:02