////////////////////////////
/* itoa(T_100, buffer);
for(i=0; i < 6; i++)putchar(buffer[i]);
putchar('\n');
itoa(T_1000, buffer);
for(i=0; i < 6; i++)putchar(buffer[i]);
putchar('\n');
itoa(T_10000, buffer);
for(i=0; i < 6; i++)putchar(buffer[i]);
putchar('\n');
itoa(T_100000, buffer);
for(i=0; i < 6; i++)putchar(buffer[i]);
putchar('\n'); */
////////////////////////////////
unsigned char buf[40];
unsigned char pos;
void display_write(flash char *fStr)
{
register unsigned char i = 0;
if(fStr) strcpyf(buf, fStr);
while(buf[i]) putchar(buf[i++]);
putchar(0x0D);
buf[pos=0]=0;
delay_ms(50);
}
display_write("alarm!");
//////////////////////
byte c=0, a=0;
char nn;
unsigned char test[10]={0};
unsigned char newtest[40];
unsigned char pos;
newtest[pos=0]=0;
//////////////////////
itoa(T_100);
nn=(char) T_100;
strcatf(buf, " 1111 ");
display_write("E0_trararta");
display_write(0);*/


nn=(char) T_100000;
test[0]=nn; test[1]='.'; test[2]=(char) T_10000; test[3]=(char) T_1000;
test[4]=(char) T_100; test[5]=' '; test[6]=';'; test[7]=' ';
puts(test);
//////////////////////
itoa(T_100000,ca[0]);
buf[1]=(char) T_10000;
buf[2]=(char) T_1000;
buf[3]=(char) T_100;
i = 0;
while(buf[i]) putchar(buf[i++]);
buf[pos=0]=0;
cap[0]=*ca[0];
putchar(cap[0]);
///////////////////////////////
unsigned char buf[40];
unsigned char pos;
register unsigned char i = 0;

void AT_Write(flash char *fStr)
{
register unsigned char i = 0;
if(fStr) strcpyf(buf, fStr);
while(buf[i]) putchar(buf[i++]);
putchar(0x0D);
buf[pos=0]=0;
delay_ms(50);
}
//////////////////////////////
byte c=0, a=0;
char *ca[1];
char cap[1];
///////////////
int двухбайтный, putchar выводит только байт есть два выхода - с помощью сдвига вывести сначала старшую, а потом младшую часть пременной, соотв. программа-приемник должна их сложить
второй, если значение необходимо в виде строки - преобразовать в строку(itoa, кажется), и вывести каждый символ из строки
(long int)12207 что это зачем приводить к 4 байтам то, что помещается в два
это на всякий случай, знаю, что немного левак. но оно не мешает, как мне кажется.
itoa пробовал, выводит бред. точки, квадратики, крестики и тп. т.е. не те символы, которые должно.
со сдвигом строки, на сколько я понял это будет putchar(1<<T_100); putchar(T_100); ?? а программа-приемник, - она должна быть уже на другой стороне, на ПК, например, куда я передаю данные? ибо мне задача не стоит ее писать, но к этому могут придраться.
не могут... оперируя переменными, больше 8 бит, сам стандарт UART говорит использовать сдвигвот пример, как разложить на две части и сложить:data[0]=re_time>>8;data[1]=re_time & 0xFF;сложитьTime=data[0]<<8 | data[1];data char array, Time int
главное, когда будешь выдавать исходные данные, не забыть указать, где старшая часть, а где младшая. И вообще, неплохо бы протокол создать. Например, стартовый байт 0xAA, далее к-во байт, далее байты, далее CRC упс, после к-ва байт ще указать код операци, команды или данных
теперь по поводу itoa.. Код:uchar buffer[6];int T_100; itoa(T_100, buffer);for(int i=0; i < 6; i++)putchar(buffer[i]);putchar('\n');
ну и счетчег лучше uchar'овский) ну это ты и сам знаешь)