Как то тоже пришлось написать программную часть для 2 Atmeg 16 подключенных к 2 приемо-передатчикам AT86RF211.( на ICCAVR )
Может и вам что то пригодится. Принимать просто на UART у меня не получилось(Нужен очень чистый сигнал без помех). Поэтому Манчестерским кодом + по больше выборок бита, синхронизация перед приемом, преамбула, CRC16(я от модбаса использовал) В общем не плохой результат получился.
http://www.radioscanner.ru/uploader/200 ... rf211s.zip
http://www.radioscanner.ru/forum/topic32273.html
UART и crс
- Реклама
Re: UART и crс
оооООО) пасиба , то что нужно)) , жаль среда только другая, щас деньгу найду на контроллеры которые завтро придут на прилавки как обещали и буду определятся как шим настроить на них + какой кварц ставить. приёмник будет мега64 )
насчёт шумов разобрался, решение простое ,гальваническая развязка и шим превышающий скорость общения ,тогда шумы в приёмнике почти равны 0 (единственный касяк что все сигнализации на етом работают) и както страшно увидеть двигатель (11к об/мин) с жёскими лопастями летящий на прохожих и неслушающий пульт по пречине сигналок, вобщем попробую 423мгц ,180мгц ,там вроде чище
но для пробы пока 433 ,заодно помехо стойкость отлично проверять)
насчёт шумов разобрался, решение простое ,гальваническая развязка и шим превышающий скорость общения ,тогда шумы в приёмнике почти равны 0 (единственный касяк что все сигнализации на етом работают) и както страшно увидеть двигатель (11к об/мин) с жёскими лопастями летящий на прохожих и неслушающий пульт по пречине сигналок, вобщем попробую 423мгц ,180мгц ,там вроде чище
но для пробы пока 433 ,заодно помехо стойкость отлично проверять)
Re: UART и crс
почитав ещё немного понял свой касяк забыл гетчар для вывода буфера ,теперь столкнулся с проблемой маркер(12 34 56) кс ,как вытащить в переменные 12,34,56? они же идут сплошныи потоком.....
- DX168B
- Друг Кота
- Сообщения: 4468
- Зарегистрирован: Вс янв 24, 2010 19:19:52
- Откуда: Главный Улей России (Moscow)
- Контактная информация:
Re: UART и crс
Самый простой и ламерский способ:
Не забываем, что при объявлении массива, мы указываем количество элементов, начиная с 1.
Мы создали массив из четырёх элементов, но индексирование этих элементов, для последующего обращения к каждому из них отдельно, начинается с 0 и заканчивается 3 (для данного примера).
Более профессиональный способ - это
функция sprintf(char *string, "format string", var1, var2, var3, ......);
Код: Выделить всё
#include <avr\io.h>
#include <util\delay.h>
int main(void)
{
int buff[5];
int a=0, b=0, c=0, d=0, e=0;
for(int i=0; i<=4; i++){buff[i] = i;} //Заполним чем-то. Далее вытащим всё из массива
a = buff[0];
b = buff[1];
c = buff[2];
d = buff[3];
e = buff[4];
//Вытащили все 5 элементов, но можем и не все, а только нужные.
}
Код: Выделить всё
int buff[4];Более профессиональный способ - это
функция sprintf(char *string, "format string", var1, var2, var3, ......);
I am DX168B and this is my favourite forum on internet!
Re: UART и crс
спасибо) ,а то второй способ я видел,но как то ненравится
- Реклама
Re: UART и crс
Есть идеи как его использовать ? Обсуждение там -CS16AMX писал(а): захотелось квадрокоптер как модную игрушку ,
http://radiokot.ru/forum/viewtopic.php? ... 4&start=60
Будете проходить мимо- проходите!
Re: UART и crс
CS16AMX можете поделиться результатами ?


