Здравейте,
от доста време се мъча с изработката на едно елементарно у-во..
То трябва да се намеси в обикновенна сериина 232 комуникация между 2 други у-ва.
Например: 2 лаптопа и помежду им моята платчица.
Целта е когато например единия лаптоп каже на другия дай си серийния номер, у-вото да хваща командата и да лъже първия лаптоп с друг сериен номер, а през останалото време да си тече комуникацията през него.
Особенностите са, че лаптопите пращат различен брой байтове и че уартовете на микроконтролера трябва да са софтуерни (9600 even parity 2 stop bits)..
Един вид трябва да се укасява шината между двата лаптопа и когато се получат дадени байтове да се изпращат на 2рия лаптоп ама да се спре отговора му и да се даде друг на неговото място.
За момента съм сложил цял компютър да върши цялата философия, но целта е да стане малко компактно у-во което да се храни с малък ток.
Написах 2та софтуерни уарта, работят, но незнам доколко стабилно защото закъснението след всеки бит е реализирано с delay_ms(); .....
Освен това написах мултитаскинг, който мисля че работи според светодиод който мига..
Направих 3 "task"-а. За приемане от лаптоп1 и предаване към лаптоп2. За обратното и за мигането на светодиода.
Попринцип невиждам пречина да не работи кода, който изписах ама знам ли къде съм объркал.. 5 часа е и вече едвам виждам...
Засега искам само да тече комуникацията, апък проверката и лъженето лесна работа.
Бях измислил и друг вариант:
в таск0 и таск1 да пише: Краче TX2 = Краче RX1 и Краче TX1 = Краче RX2
вместо: приеми от КОМ1 и изпрати към КОМ2 (и обратното) ..
Надявам се да ми предложите решения
