реклама на сайте
подробности

 
 
> printf()
ShTat
сообщение Aug 31 2006, 10:26
Сообщение #1





Группа: Новичок
Сообщений: 10
Регистрация: 29-08-06
Пользователь №: 19 910



Здравствуйте! Помогите новичку. Вопрос по Keil. Нужно вывести в окно последовательного порта содержимое массива байт, вот код программы:

#include <reg52.h>
#include <stdio.h>

void initialize_system (void);
void main()
{
char A[5];
int i;
initialize_system ();

A[0]=0xA1;
A[1]=0x78;
A[2]=0x41;
A[3]=0xCD;

for (i=0;i<4;i++)
{
printf("%#X, ", A[i]);
}
}
void initialize_system (void)
{
SCON = 0x50;
TMOD |= 0x20;
TH1 = 221;
TR1 = 1;
TI = 1;
}

В окно Serial1 выводится следующая последовательность: 0хA100, 0x7800, 0x4100, 0xCD00,
Как сделать так, чтобы выводилось только 2 первых цифры? Т.е.: 0xA1, 0x78, 0x41, 0xCD, ?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 4)
_Andu_
сообщение Aug 31 2006, 11:10
Сообщение #2


Частый гость
**

Группа: Свой
Сообщений: 127
Регистрация: 11-07-06
Пользователь №: 18 735



насколько я помню
printf("%02X, ", A[i]);
на всякий случай объявите unsigned char A[5];
Go to the top of the page
 
+Quote Post
ShTat
сообщение Aug 31 2006, 12:04
Сообщение #3





Группа: Новичок
Сообщений: 10
Регистрация: 29-08-06
Пользователь №: 19 910



Цитата(_Andu_ @ Aug 31 2006, 14:10) *
насколько я помню
printf("%02X, ", A[i]);
на всякий случай объявите unsigned char A[5];


попробовала. Все равно выводит 4 цифры sad.gif
Go to the top of the page
 
+Quote Post
Палыч
сообщение Aug 31 2006, 12:58
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 2 399
Регистрация: 10-05-06
Из: г. Новочеркасск
Пользователь №: 16 954



Если в функции printf указан формат "%#X", то функция ожидает аргумент типа int. Для вывода char необходимо указать "%#bX". Если нужно, чтобы при значении, например, 1,выводилось бы не "0X1", а "0X01", то формат - "%#04bX".
Go to the top of the page
 
+Quote Post
ShTat
сообщение Aug 31 2006, 13:16
Сообщение #5





Группа: Новичок
Сообщений: 10
Регистрация: 29-08-06
Пользователь №: 19 910



Спасибо большое!
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 29th July 2025 - 17:02
Рейтинг@Mail.ru


Страница сгенерированна за 0.01368 секунд с 7
ELECTRONIX ©2004-2016