Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
08.05.2007, 17:08
|
#11
|
Гражданин KAZUS.RU
Регистрация: 30.04.2006
Сообщений: 984
Сказал спасибо: 5
Сказали Спасибо 18 раз(а) в 14 сообщении(ях)
|
Заработало.
В файле тест2 я убрал прерывания и изменил функцию:
Код:
|
void send_string_dataf(flash char* string_data)
{
unsigned int i, str_length=strlenf(string_data);
for (i=0; i‹str_length; i++)
send_data(string_data[i]);
send_data(0);
} |
А в файле тест1 функцию char* recive_string_data(void)
заменил на свою
Код:
|
void show_string (void)
{
unsigned char temp;
temp=recive_byte_data();
while (temp!=0)
{
lcd_putchar(temp);
temp=recive_byte_data();
}
} |
Измененный проект прикрепляю
Прикрепленный файл: 1684424.rar
|
|
|
|
08.05.2007, 18:42
|
#12
|
Частый гость
Регистрация: 04.12.2006
Сообщений: 49
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Сообщение от dimonbest
|
Заработало.
В файле тест2 я убрал прерывания и изменил функцию:
Код:
|
void send_string_dataf(flash char* string_data)
{
unsigned int i, str_length=strlenf(string_data);
for (i=0; i‹str_length; i++)
send_data(string_data[i]);
send_data(0);
} |
А в файле тест1 функцию char* recive_string_data(void)
заменил на свою
Код:
|
void show_string (void)
{
unsigned char temp;
temp=recive_byte_data();
while (temp!=0)
{
lcd_putchar(temp);
temp=recive_byte_data();
}
} |
Измененный проект прикрепляю
|
Отлично!!! Спасибо!!!
Работает, интересно, чего раньше не сообразил сделать?
Немного универсальность потерялась, но все-же єто лучше чем то, что было!!!
Прикрепленный файл: 1684424.rar
|
|
|
|
08.05.2007, 18:47
|
#13
|
Частый гость
Регистрация: 04.12.2006
Сообщений: 49
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Слава Богу, есть добрые люди, которые могт помочь бедному студенту с баклавратом
|
|
|
|
08.05.2007, 18:54
|
#14
|
Гражданин KAZUS.RU
Регистрация: 30.04.2006
Сообщений: 984
Сказал спасибо: 5
Сказали Спасибо 18 раз(а) в 14 сообщении(ях)
|
А что значит "немного потеряла универсальность"?
|
|
|
|
08.05.2007, 19:49
|
#15
|
Частый гость
Регистрация: 04.12.2006
Сообщений: 49
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Сообщение от dimonbest
|
А что значит "немного потеряла универсальность"?
|
Хотелось, чтобы строка формировалась...
вот вроде как у меня до того было...
я не могу понять, почему она не очищается, а берет старые переданные данные...
|
|
|
|
08.05.2007, 20:04
|
#16
|
Гражданин KAZUS.RU
Регистрация: 30.04.2006
Сообщений: 984
Сказал спасибо: 5
Сказали Спасибо 18 раз(а) в 14 сообщении(ях)
|
Немного не понимаю что означает фраза "строка формировалась... " и почему в таком варианте как у меня нет "универсальности".
|
|
|
|
08.05.2007, 20:15
|
#17
|
Гражданин KAZUS.RU
Регистрация: 30.04.2006
Сообщений: 984
Сказал спасибо: 5
Сказали Спасибо 18 раз(а) в 14 сообщении(ях)
|
Теперь функция convert собирает символы в строку stroka
Код:
|
void convert (void)
{
unsigned char temp,i=0;
temp=recive_byte_data();
while (temp!=0)
{
stroka[i]=temp;
temp=recive_byte_data();
i++;
}
stroka[i]='\0';
} |
и теперь можно вывести значение на экран так:
lcd_puts(stroka);
|
|
|
|
08.05.2007, 20:31
|
#18
|
Частый гость
Регистрация: 04.12.2006
Сообщений: 49
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Сообщение от dimonbest
|
Немного не понимаю что означает фраза "строка формировалась... " и почему в таком варианте как у меня нет "универсальности".
|
Нет, все отлично!!! Просто я применял индикатор исключительно для отладки.
А в приемнике хотелось иметь ф-цию, чтобы возвращалась строка. вот так же как сделана у меня функция получения символа...
а получилось так, что при повторном использовании функции получения строки предыдущее значение почему-то не очищается, хотя как видно строка задана локально... не могу понять что за глюк
|
|
|
|
08.05.2007, 20:37
|
#19
|
Частый гость
Регистрация: 04.12.2006
Сообщений: 49
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Сообщение от dimonbest
|
Теперь функция convert собирает символы в строку stroka
Код:
|
void convert (void)
{
unsigned char temp,i=0;
temp=recive_byte_data();
while (temp!=0)
{
stroka[i]=temp;
temp=recive_byte_data();
i++;
}
stroka[i]='\0';
} |
и теперь можно вывести значение на экран так:
lcd_puts(stroka);
|
а как глобально задать строку а после ее очистить?
|
|
|
|
08.05.2007, 20:41
|
#20
|
Частый гость
Регистрация: 04.12.2006
Сообщений: 49
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Сообщение от dimonbest
|
Немного не понимаю что означает фраза "строка формировалась... " и почему в таком варианте как у меня нет "универсальности".
|
Работает!!! Ура, ты гений!!!
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 10:17.
|
|