Отговори на тема  [ 13 мнения ] 
Изтрване на данни в терминала 
Автор Съобщение
Мнение Изтрване на данни в терминала
Здравейте,
много полезен форум сте направили!
Проблемът който не мога да разреша е следният:
показвам на терминала напрежение така : 1.25V
не мога да направя така че новите изпратени данни да изтрият старите и да се покажат на неговото място.
и сега през 1 сек. примерно получавам така:
1.25V
1.23V
1.22V
.
.
.
и така нататъка. Искам всичко да се показва на мястото на 1.25V


Нед Яну 25, 2009 3:04 pm
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Нед Ное 21, 2004 11:31 pm
Мнения: 10088
Мнение 
в общия случай
Код:
printf ("/r%5.2f",var);


за по-конкретно трябва да дадеш повече инфо на какво се мъчиш да го пишеш това


Нед Яну 25, 2009 4:14 pm
Профил
Мнение 
пиша на mikroC


Нед Яну 25, 2009 4:23 pm
Мнение 
не мога да го направя така
... някаква команда трябва да се изпрати по uart-a може би


Нед Яну 25, 2009 4:42 pm
Ранг: Ориентиран
Ранг: Ориентиран

Регистриран на: Вто Яну 31, 2006 11:11 pm
Мнения: 295
Местоположение: София
Мнение 
maiden написа:
не мога да го направя така
... някаква команда трябва да се изпрати по uart-a може би

Сега с каква команда и какво точно пращаш на терминала


Нед Яну 25, 2009 4:56 pm
Профил
Мнение 
опитвам се с
Soft_Uart_Write("/r%5.2f"), както ми казва колегата

това ми е цялата програма:

unsigned int adc_rd;
long tlong;
char ch;

void main(){
ADCON1 = 0x82;
TRISA=0xFF;
PORTB=0;
TRISB=0b00000110;
Soft_Uart_Init(PORTB, 1, 2, 2400, 0);

do {
adc_rd=Adc_Read(0);

tlong = (long)adc_rd * 5000;
tlong = tlong / 1023;

ch = tlong / 1000;
Soft_Uart_Write(48+ch);
Soft_Uart_Write('.');
ch = (tlong / 100) % 10;
Soft_Uart_Write(48+ch);

ch = (tlong / 10) % 10;
Soft_Uart_Write(48+ch);

Soft_Uart_Write('V');

Soft_Uart_Write("/r%5.2f") ;


Delay_ms(1000);
}
while(1);}


Нед Яну 25, 2009 5:02 pm
Ранг: Новодошъл
Ранг: Новодошъл

Регистриран на: Чет Яну 04, 2007 12:43 am
Мнения: 178
Мнение 
При терминала на Bray това няма как да стане. Той третира символа 0x0D ('\r') едновременно като Carriage Return и Line Feed и преминава на нов ред.
Това, което искаш, може да се получи, ако използваш HyperTerminal - при него двата символа '\r' и '\n' имат самостоятелно действие - първият връща показалеца в началото на реда а вторият пренася на нов ред.


Нед Яну 25, 2009 5:36 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Нед Ное 21, 2004 11:31 pm
Мнения: 10088
Мнение 
maiden написа:
Soft_Uart_Write("/r%5.2f")

е, така няма да стане. освен ако тази функция не прави форматиране, ама е малко вероятно.
виж в описанието какво прави точно.

иначе накрая, след като напишеш 'V' сложи още един write(13)


Нед Яну 25, 2009 5:41 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Сеп 26, 2004 9:21 pm
Мнения: 30686
Местоположение: София
Мнение 
Това зависи единствено от начина по който се третират командите \r \n то има и доста други, като се има в предвид че отдавна сме отминали времето на телетипите, не би ме учудило хората които пишат в момента подобни терминали, особенно от МS да нямат представа какво е истинското значение съответно како трябва да сеслучи визуално.


Нед Яну 25, 2009 6:31 pm
Профил
Мнение 
стана на хипер терминала на уиндоуса. А да ви попитам нормално ли е отклонението от мултицета да е 3 стотни... и на кое да вярвам повече -на пика или на мултицета. ПИК16Ф818, а мултицета е накакъв китайски за 5 лв.
Просто ми е интересно ..


Нед Яну 25, 2009 7:49 pm
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Сеп 26, 2004 9:21 pm
Мнения: 30686
Местоположение: София
Мнение 
На ни едно от двете :). Пика мери по опорно, това опорно предполагам в твоят случай е захранващото, така че точноста там не е никак голяма. Ако ли пък имаш опорен източник зависи какъв е той, но и там има отклонения обикновенно, макар и по-малки. Когато се търси точност над толеранса на ИОН се мери с точен волтметър колко е опорното и се прави съответната корекция. Това разбира се зависи и от разрядноста на ADC, ако си в 8 битов режим при опорно 2.5 да речем че имаш TL431 с директна ОВ, толеранса на ИОН еи е 1% в добрия случай, съответно точността на АДЦ е по-висока и едно измерване и калибровка би имало ефект. Но ако сложиш някой доста по прецизен, или пък се престараеш в калибровката ще се изгуби малко смисъла, например да мериш с точност 1 mV при условие че теоретичната точост на АЦП е около 10 mV е безсмислено.


Нед Яну 25, 2009 8:59 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Нед Сеп 26, 2004 4:11 pm
Мнения: 3750
Местоположение: София
Мнение 
Добре, де, 0х08 не работи ли ?


Пон Яну 26, 2009 3:17 pm
Профил ICQ
Мнение 
ами на този терминал на Bray не става


Пон Яну 26, 2009 9:04 pm
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 13 мнения ] 

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 3 госта


Вие не можете да пускате нови теми
Вие не можете да отговаряте на теми
Вие не можете да променяте собственото си мнение
Вие не можете да изтривате собствените си мнения
Вие не можете да прикачвате файл

Търсене:
Иди на:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.
Хостинг и Домейни