Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы
Непрочитано 28.01.2015, 18:30  
WindoЗavr
Заблокирован
 
Регистрация: 26.12.2013
Сообщений: 379
Сказал спасибо: 66
Сказали Спасибо 61 раз(а) в 23 сообщении(ях)
WindoЗavr на пути к лучшему
По умолчанию Re: Форматирование данных и передача даных UART

вывожу по очереди числа от 0 до 9
PHP код:
#include ‹mega8.h›
#include ‹stdio.h›
#include ‹delay.h›
unsigned int kostil (unsigned char q)  
{  
delay_ms(1000);   
      
putchar('B'); 
      
putchar('i'); 
      
putchar('z'); 
      
putchar('z'); 
      
putchar('a'); 
      
putchar('r'); 
      
putchar('d');
      
putchar('?'); 
      
putchar('0'); 
      
putchar('0'); 
      
putchar('0'); 
      
putchar(q);     
}  
void main(void)
{
PORTC=0x01;
DDRC=0x00;
UCSRA=0x00;
UCSRB=0x08;
UCSRC=0x86;
UBRRH=0x00;
UBRRL=0x33;
 
while (
1)
      {
      
kostil ('1');  
      
kostil ('2');  
      
kostil ('3');  
      
kostil ('4');  
      
kostil ('5');  
      
kostil ('6');  
      
kostil ('7');  
      
kostil ('8');  
      
kostil ('9');  
      
kostil ('0');  
            };



но сколько я не копал этот кусок кода, я не вижу где тут проверяется слово Bizzard и ?
как убрать необходимость слова Bizzard в посылке?

PHP код:
char ntoa(char n) {          // Ïðåîáðàçîâàíèå íèáëà â ASCII
  
n=n&0x0f;
  if (
n0x0an+=48;     // 0x30
  
else n+=55;             // 0x37
  
return n;
}

void i2btoa(int nchar *mas) {   // Ïðåáðàçîâàíèå äâóõ áàéòîâ â ASCII
  
for(int i=3i›-1i--) mas[i]=ntoa(n››abs(4*(i-3)));
}

char aton(char c) {          // Ïðåîáðàçîâàíèå îäíîãî áàéòà â íèáë
  
if(c0x3Ac-=0x30;
  else  
c-=0x37;
  if(
c0x0fc=0;
  return 
c;
}

int a4btoi(char *mas) {      // Ïðåîáðàçîâàíèå ñòðîêè èç ÷åòûðåõ ASCII â int
  
int n=0;

  for (
int i=3i›-1i--) n+=aton(mas[i])‹‹abs(4*(i-3));
  return 
n
Реклама:

Последний раз редактировалось WindoЗavr; 28.01.2015 в 19:34.
WindoЗavr вне форума  
Непрочитано 28.01.2015, 19:47  
akegor
Гуру портала
 
Аватар для akegor
 
Регистрация: 06.05.2005
Адрес: Краснодар, возле укротворного моря.
Сообщений: 18,968
Сказал спасибо: 2,552
Сказали Спасибо 11,849 раз(а) в 5,938 сообщении(ях)
akegor на пути к лучшему
По умолчанию Re: Форматирование данных и передача даных UART

Сообщение от WindoЗavr Посмотреть сообщение
где тут проверяется слово Bizzard и ?
Bizzard это пурга, которую я пронес в качестве помехи для иллюстрации "нереагирования" на всякую пургу. А "?" проверяется после проверки количества байтов в буфере. Это прокомментировано в #47.
__________________
Не бейте больно, ежели чо, ну не удержался... А вааще,
"Мы за все хорошее, против всей х..., По лугам некошеным чтобы шли ступни,
Чтобы миром правила правда, а не ложь, Мы за все хорошее, нас не на...!
..." (Ленинград)
Я не несу ответственности за свои действия в Вашей голове.
akegor на форуме  
Непрочитано 28.01.2015, 20:20  
WindoЗavr
Заблокирован
 
Регистрация: 26.12.2013
Сообщений: 379
Сказал спасибо: 66
Сказали Спасибо 61 раз(а) в 23 сообщении(ях)
WindoЗavr на пути к лучшему
По умолчанию Re: Форматирование данных и передача даных UART

я биззард заменял другими буквами и удалял
в обоих случаях выводится неверное число
WindoЗavr вне форума  
Непрочитано 28.01.2015, 20:26  
WindoЗavr
Заблокирован
 
Регистрация: 26.12.2013
Сообщений: 379
Сказал спасибо: 66
Сказали Спасибо 61 раз(а) в 23 сообщении(ях)
WindoЗavr на пути к лучшему
По умолчанию Re: Форматирование данных и передача даных UART

ввод вывод.zip
WZ_data_in это принимающая часть от вашей программы
uart2mk это протеус и проект CV
задействованы
ком 3 и ком 4
WindoЗavr вне форума  
Непрочитано 28.01.2015, 21:05  
Yurkin2014
Заблокирован
 
Регистрация: 21.01.2014
Сообщений: 589
Сказал спасибо: 7
Сказали Спасибо 267 раз(а) в 206 сообщении(ях)
Yurkin2014 на пути к лучшему
По умолчанию Re: Форматирование данных и передача даных UART

Выкиньте из костила 'Blizzard' и знак вопроса, оставьте только
Цитата:
unsigned int kostil (unsigned char q)
{
delay_ms(1000);
putchar('0');
putchar('0');
putchar('0');
putchar(q);
}
В подпрограмме чтения порта замените 1 на 3
Цитата:
while(CommPort1-›InBuffUsed›3) {

Последний раз редактировалось Yurkin2014; 28.01.2015 в 21:08.
Yurkin2014 вне форума  
Непрочитано 29.01.2015, 00:18  
WindoЗavr
Заблокирован
 
Регистрация: 26.12.2013
Сообщений: 379
Сказал спасибо: 66
Сказали Спасибо 61 раз(а) в 23 сообщении(ях)
WindoЗavr на пути к лучшему
По умолчанию Re: Форматирование данных и передача даных UART

спасибо, заработало


CV компилит, но ругается Warning: function must have a return value
на unsigned int kostil (unsigned char q)

но она же имеет возвращаемое значение вроде

Последний раз редактировалось WindoЗavr; 29.01.2015 в 00:26.
WindoЗavr вне форума  
Непрочитано 29.01.2015, 00:43  
WindoЗavr
Заблокирован
 
Регистрация: 26.12.2013
Сообщений: 379
Сказал спасибо: 66
Сказали Спасибо 61 раз(а) в 23 сообщении(ях)
WindoЗavr на пути к лучшему
По умолчанию Re: Форматирование данных и передача даных UART

программа на МК передаёт десятичные числа, а комп воспринимает как их 16 ричные

а где в программе систему счисления поменять можно?

если передать
putchar('?');
putchar('1');
putchar('1');
putchar('1');
putchar('1');
прога говорит 4369


чтоб в проге получить 1111
надо отправить
putchar('?');
putchar('0');
putchar('4');
putchar('5');
putchar('7');

Последний раз редактировалось WindoЗavr; 29.01.2015 в 00:51.
WindoЗavr вне форума  
Непрочитано 29.01.2015, 01:03  
akegor
Гуру портала
 
Аватар для akegor
 
Регистрация: 06.05.2005
Адрес: Краснодар, возле укротворного моря.
Сообщений: 18,968
Сказал спасибо: 2,552
Сказали Спасибо 11,849 раз(а) в 5,938 сообщении(ях)
akegor на пути к лучшему
По умолчанию Re: Форматирование данных и передача даных UART

WindoЗavr, набросал на скорую руку.
Вложения:
Тип файла: rar For_WZ(mega8).rar (71.8 Кб, 30 просмотров)
__________________
Не бейте больно, ежели чо, ну не удержался... А вааще,
"Мы за все хорошее, против всей х..., По лугам некошеным чтобы шли ступни,
Чтобы миром правила правда, а не ложь, Мы за все хорошее, нас не на...!
..." (Ленинград)
Я не несу ответственности за свои действия в Вашей голове.
akegor на форуме  
Сказали "Спасибо" akegor
WindoЗavr (29.01.2015)
Непрочитано 29.01.2015, 01:18  
Yurkin2014
Заблокирован
 
Регистрация: 21.01.2014
Сообщений: 589
Сказал спасибо: 7
Сказали Спасибо 267 раз(а) в 206 сообщении(ях)
Yurkin2014 на пути к лучшему
По умолчанию Re: Форматирование данных и передача даных UART

Сообщение от WindoЗavr Посмотреть сообщение
чтоб в проге получить 1111
Замените строчку вывода числа
Цитата:
RData-›Caption=IntToStr(aton(mas[0])*1000+aton(mas[1])*100+aton(mas[2])*10+aton(mas[3]));
Yurkin2014 вне форума  
Непрочитано 29.01.2015, 06:45  
akegor
Гуру портала
 
Аватар для akegor
 
Регистрация: 06.05.2005
Адрес: Краснодар, возле укротворного моря.
Сообщений: 18,968
Сказал спасибо: 2,552
Сказали Спасибо 11,849 раз(а) в 5,938 сообщении(ях)
akegor на пути к лучшему
По умолчанию Re: Форматирование данных и передача даных UART

Сообщение от Yurkin2014 Посмотреть сообщение
Замените строчку вывода числа...
Это преобразование кого в чего?
Изначально ставилась задача измерить и передать в комп. Значит - передавать тугрики АЦП, соответственно, двухбайтовое целое. "А ты что сделал, доктор?"(с) Если ТС называет обрезание кастрированием, это же не значит, что надо выполнять буквально.
__________________
Не бейте больно, ежели чо, ну не удержался... А вааще,
"Мы за все хорошее, против всей х..., По лугам некошеным чтобы шли ступни,
Чтобы миром правила правда, а не ложь, Мы за все хорошее, нас не на...!
..." (Ленинград)
Я не несу ответственности за свои действия в Вашей голове.

Последний раз редактировалось akegor; 29.01.2015 в 06:49.
akegor на форуме  
Сказали "Спасибо" akegor
WindoЗavr (29.01.2015)
 

Закладки
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Беспроводная передача данных 1кб/с , 3км. Как и чем? Zemlyanov Микроконтроллеры, АЦП, память и т.д 5 29.01.2015 10:02
Тормоза при передаче данных через UART в Bluetooth модуль rus_12345 Микроконтроллеры, АЦП, память и т.д 8 05.01.2015 19:39
Передача данных через UART в AVR микроконтроллерах. harry7777 AVR 54 09.11.2013 20:40
Передача данных в UART из текстового файла bombardier_rotax Proteus 6 24.02.2010 20:50
PIC16F877A pawelk Микроконтроллеры, АЦП, память и т.д 17 28.05.2005 23:54


Часовой пояс GMT +4, время: 17:12.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot