Вверх ↑
Ответов: 51
Рейтинг: 3
#1: 2011-12-11 14:15:29 ЛС | профиль | цитата
У всё сегодня на свежую голову удалось сделать правильное отображение: http://s017.radikal.ru/i406/1112/4c/27032802dcc1.png если читать в десятичном формате то сек/мин/час/день недели/число/месяц/год - итого 7 истинных значений..
------------ Дoбавленo в 10.12:
Tad писал(а):
куда приходит? С микроконтроллера в порт или с порта в микроконтроллер?
Всё с контроллера приходит, но только после того как программа на ПК отправит знак ? контроллеру...
------------ Дoбавленo в 14.15:
Вот программка на скорую руку...


Add(COM,9810891,476,182)
{
Port=3
TimeOut=100
link(onWrite,3388875:doTimer,[(520,188)(520,295)(348,295)(348,258)])
link(onRead,14348943:doEnum,[])
link(BaudRate,16338985:String,[(489,131)(461,131)])
}
Add(Hub,11608495,399,105)
{
InCount=2
OutCount=4
link(onEvent1,9810891:doOpen,[(545,111)(545,163)(459,163)(459,188)])
link(onEvent4,7878420:doTimer,[(521,132)(521,176)(304,176)(304,195)])
}
Add(Timer,7878420,315,189)
{
@Hint=#15:Интервал опроса|
,202)(378,209)])
}
Add(DoData,6479751,420,252)
{
Data=Integer(8)
link(onEventData,9810891:doRead,[(461,258)(461,216)])
}
Add(Timer,3388875,364,252)
{
@Hint=#45:Задержка чтения на время реагирования датчика|
Interval=10
Enable=1
AutoStop=1
link(onTimer,6479751:doData,[])
}
Add(DoData,16095729,385,203)
{
Data=String(?)
link(onEventData,9810891:doWrite,[])
}
Add(IndexToChanel,7756919,644,189)
{
Count=9
Point(Index)
link(onEvent2,13888373:doEvent1,[(688,202)(688,125)])
link(onEvent3,5642143:doText,[(854,194)(854,167)])
link(onEvent4,10535747:doText,[(824,216)(824,209)])
link(onEvent5,2716:doText,[])
link(onEvent6,13934860:doText,[(768,230)(768,237)])
link(onEvent7,1399232:doText,[(740,237)(740,251)])
link(onEvent8,6156248:doText,[(712,244)(712,265)])
link(onEvent9,11932468:doText,[(684,251)(684,286)])
link(Index,14348943:NumSubStr,[(650,177)(596,177)(596,234)(559,234)])
}
Add(Str_Enum,14348943,553,189)
{
Delimiter=""
link(onEnum,11381385:doConvert,[])
}
Add(Convertor,11381385,602,189)
{
Mode=3
Digits=3
link(onResult,7756919:doEvent,[])
}
Add(Grapher,14346894,812,70)
{
Left=490
Top=15
Width=495
Height=175
Step=10
MaxH=40
}
Add(MainForm,2953706,301,133)
{
Width=1313
Height=388
Caption="Пример использования FormatStr"
link(onActivate,11608495:doEvent1,[(366,139)(366,111)])
link(onCreate,9810891:doClose,[(443,153)(443,195)])
}
Add(Edit,5642143,1029,161)
{
Left=5
Top=170
Name="7"
Text="0"
DataType=2
}
Add(Edit,10535747,973,203)
{
Left=70
Top=170
Name="6"
Text="0"
DataType=2
}
Add(Edit,2716,917,217)
{
Left=135
Top=170
Name="5"
Text="0"
DataType=2
}
Add(Edit,13934860,861,231)
{
Left=200
Top=170
Name="4"
Text="0"
DataType=2
}
Add(Edit,1399232,805,245)
{
Left=270
Top=170
Name="3"
Text="0"
DataType=2
}
Add(Edit,6156248,749,259)
{
Left=340
Top=170
Name="2"
Text="0"
DataType=2
}
Add(Edit,11932468,693,280)
{
Left=405
Top=170
Name="1"
Text="0"
DataType=2
}
Add(Hub,13888373,700,119)
{
link(onEvent1,11120023:doText,[(728,125)(728,41)])
link(onEvent2,14346894:doAdd,[(801,132)(801,76)])
}
Add(ComboBox,16338985,448,35)
{
Left=10
Top=15
Width=145
Height=21
Strings=#4:9600|5:14400|5:19200|6:115200|
Text=""
ReadOnly=0
Point(EditText)
link(onClick,11608495:doEvent2,[(499,48)(499,93)(387,93)(387,118)])
}
Add(Label,11120023,742,35)
{
Left=195
Top=20
}
Сначало выводится температура и отображадается в графике, затем 7 байт в своих полях... Но как сделать таким образом чтобы надпись где выводится температура отображала сначала [b]T=[/b] потом переменное значение, а остальные поля вывода заменить надписями с таким форматом: 1. "час" [b]:[/b] "мин" [b]:[/b] "сек", далее на следующей надписи 2. "день недели(в зависимости от 1-7 писать понедельник/вторник и т.д.)", после на 3ей надписи 3. "число", на четвёртой 4. "месяц (в зависимости от 1-12 писать анварь/февраль/март и т.д.)" и на последней надписи 5.[b]20[/b] "ХХ" . Всё что жирное постоянные символы, а что в " " - переменные.
карма: 0

0