[No title]

J

jaime

Guest
Здравейте аз се опитвам да се свържа с моя снимка Siemens C45 в С. Бих искал да направя едно прекъсване от щифт RX за четене на данни от телефона. Знам, че телефонът изпраща OK (в шестнадесетичен:. 0D 0A 4F 4Б 0D 0A трябва да се използва rotine с getc защото това завърши низ съм с 0D (CR), така че аз мога употреба стане Как мога да направя това Благодаря Jaime?
 
ICANN wystawiło na licytację domenę .app. Zgłosiło się jedenastu chętnych na zakup, zaś aukcję wygrało Google, płacąc grube miliony dolarów.

Read more...
 
Здравейте, Когато се изпраща по команда можете да добавите в 0x0D в края не е проблем. Не знам как да се използва CCS, IM повече от з * Техническа компилатор, но трябва само да изпратите на AT и изчакайте OK. Използвайте една добра програма да помиришат тази линия (с буфер за PC). Обичам да използвате Docklight които можете да намерите в интернет. Има много функции, които са много полезни при работа с модем и MCU. [Цвят = Тъмно синьо] Ако сте намерили моя отговор полезни, кликнете върху бутона, който казва ми помогна . [/ Цветен] [в] ( не [/ б] точки ще бъдат взети от вас !) [/I] На добър час.
 
Благодаря за отговора Аз нямам проблем при изпращането на команди. Моят проблем е, receivind данни. Искам да видя една рутинна, че reveivs на команди. Знам, че аз трябва да чакам за ОК. Но как да разбера, че аз съм получател на ОК? благодаря
 
Здравейте, защо не можете да използвате getc, това не е връзка с NL / байт CR, getc четете получи буфер и да получите стойност на променлива: буфер [н] = getc (), това в INT RSRX подпрограмата, когато т.е получавате Той ще бъде написан на променливата] буфер [. 0A това е нов ред. Ако вашият модем връщане винаги 0A или 0D след низ, ден можете да използвате и двете от тях до края на mesage, вие ще имате един пакет флага начало, знамето пакет края. TEMP = getc (), ако ((Temp == 0x0A | | Temp == 0x0D) и започнете пакет) {започне пакет = фалшиви; края пакет = вярно;} {друго буфер [х] = Temp; х + +;} в програмата, която ще провери пакет края, а когато това е вярно, ще прочетете данни от буфер и да х = 0 ackage ANF края = фалшиви: ако (края на опаковката) {края пакет = фалшиви ако (буфер [0] = 'O' & & буфер [1] = "К" & & х == 1) {направи нещо;}}
 
Разбирам какво имаш предвид, но аз наистина съм виж първата част на програмата да работи. ако ((Temp == 0x0A | | Temp == 0x0D) и започнете опаковка) Мисля, че програмата никога не влиза в това състояние. Няма по проекта пакет = вярно и Temp получава само едно от условията или 0x0A 0x0D ... съгласни ли сте? Както казах аз разбирам какво имате предвид, но аз не знам на кого да го направя, така че да ми помогне litle повече:) Имаш ли точки! Благодаря
 
Здравейте, когато аз пиша това последно и нощта беше много sleeply и ще видите, че съм забравил нещо: # INT_RDA RDA_IRS невалиден (невалидни) {Чар Temp; Temp = getc (), ако ((Temp == 0x0A | | Temp == 0x0D ) & & package_start) {package_start = 0; package_end = 1;} друго {ако (temp! = 0x0A & & Temp = 0x0D) {package_start = 1;! = буфер [н] Temp; N + +;}}} това е пакет, получават . ако (package_end) {package_end = 0, ако (буфер [0] == "О" и & буфер [1] == "К" & & N == 2) {ФОРМАТ ("Hello"); N = 0;}} и това е проверка на пакета, Thi е swork, но .... това е само идея, когато има комуникация, трябва да прилагат това в протокола за комуникация, защото аз предполагам, че трябва да получават и предават данни към модема.
 

Welcome to EDABoard.com

Sponsor

Back
Top