Программный UART для любого микроконтроллера. Модификация кода для AVR. Ч2

09/02/2012 - 20:04
   Перейдем к модификации описанного программного UART`a под конкретный камушек. Поскольку пишу я в основном про 8-ми разрядные AVR, то эти контроллеры и будем рассматривать. 
   Во всех микроконтроллерах семейства mega есть аппаратный модуль UART, а вот в микроконтроллерах семейства tiny нет. По идее программный UART может потребоваться именно для младшего семейства, но не исключаю возможность использования этого кода и в mega`ах. Пути эмбеддера неисповедимы.       
   Проекты написаны в двух вариантах – для ATTiny45 и для ATmega16. Впрочем, отличия там очень незначительные и касаются только инициализации и прерывания задействованного таймера. 

Программный UART для Tiny45. Заголовочный файл

   Первое, что я сделал - это создал заголовочный файл softUart.h. В него я прописал включение заголовочного файла compilers_3.h, обеспечиващего совместимость с тремя AVR компиляторами (IAR, CodeVision, GNU GCC), макроопределения и прототипы пользовательских функций. Прототипы, следуя своему стилю, обозвал с использованием приставки. В данном случае - “SUART_”. Это позволяет легко определять, к каким файлам относятся те или иные функции. 

#ifndef SOFT_UART_H
#define SOFT_UART_H

#include "compilers_3.h"

/*___________________________Настройки_____________________________________*/

/*тактовая частота мк*/
#ifndef F_CPU
#define F_CPU 8000000L
#endif

/*прескалер таймера 1L, 8L, 64L, 256L, 1024L*/
#define SUART_PRESCALER 1L

/*скорость обмена*/
#define SUART_BAUD_RATE 19200L

/*вместимость приемного буфера*/
#define SUART_BUF_SIZE 32

/*пин приемника*/
#define RX_PINX PINB
#define RX_PORTX PORTB
#define RX_DDRX DDRB
#define RX_PIN 1

/*пин передатчика*/
#define TX_PORTX PORTB
#define TX_DDRX DDRB
#define TX_PIN 0

/*функция или макрос, выполняемый во время
ожидания поступления данных в приемный буфер.
она запускается в функции SUART_GetChar()*/
#define SUART_Idle()

/*________________________Пользовательские функции___________________________*/

void SUART_Init(void);
char SUART_GetChar(void);
void SUART_PutChar(char ch);
void SUART_PutStr(char *str);
void SUART_PutStrFl(char __flash *str);
void SUART_FlushInBuf(void);
char SUART_Kbhit(void);
void SUART_TurnRxOn(void);
void SUART_TurnRxOff(void);

/*___________________________________________________________________________*/

#endif //SOFT_UART_H
 

 
   Макроопределения F_CPU, SUART_PRESCALER и SUART_BAUD_RATE используются в макросе расчета таймерной константы, обеспечивающей заданную скорость обмена по UART`у. Константа SUART_PRESCALER может принимать только значения, записанные в комментарии - 1L,8L,64L,256L,1024L. При задании других значений, компилятор будет выдавать ошибку. Также компилятор будет выдавать ошибку, если при расчете таймерной константы будут получаться недопустимые значения - ноль и значения больше 256, и предупреждения, если получаемая скорость программного UART`a будет на 1% больше или меньше требуемого значения.   
  Также в заголовочный файл я добавил определения, задающие приемный и передающий вывод микроконтроллера.

Программный UART для Tiny45. Сишный файл

   В сишный файл, я добавил макросы, используемые для обращения к приемному и передающему выводу микроконтроллера. 
 
#define get_rx_pin_status()    RX_PINX & (1<<RX_PIN)
#define set_tx_pin_high()      TX_PORTX |= (1<<TX_PIN)
#define set_tx_pin_low()       TX_PORTX &= ~(1<<TX_PIN)
 

А также макросы для расчета и проверки таймерной константы. Эти макросы позволяют быстро подобрать оптимальное значение частоты микроконтроллера, предделителя таймера и скорости передачи данных. 
 

#define TIME_VALUE (F_CPU/(SUART_BAUD_RATE*NUM_OF_CYCLES*SUART_PRESCALER))
#define TIMER_TCNT_VALUE (0xff - (TIME_VALUE - 1))
#define ERROR_VALUE ((F_CPU*100)/(TIME_VALUE*SUART_BAUD_RATE*NUM_OF_CYCLES*SUART_PRESCALER))

#if ((TIME_VALUE > 256)||(TIME_VALUE == 0))
#error "TIMER_TCNT_VALUE is not correct. Change PRESCALER, BAUD_RATE or F_CPU"
#endif

#if ((ERROR_VALUE > 100)||(ERROR_VALUE < 100))
#warning "Baud rate error > 1%"
#endif

#if SUART_PRESCALER==1L
   #define CSXX (0<<CS02)|(0<<CS01)|(1<<CS00)
#elif SUART_PRESCALER==8L
   #define CSXX (0<<CS02)|(1<<CS01)|(0<<CS00)
#elif SUART_PRESCALER==64L
   #define CSXX (0<<CS02)|(1<<CS01)|(1<<CS00)
#elif SUART_PRESCALER==256L
   #define CSXX (1<<CS02)|(0<<CS01)|(0<<CS00)
#elif SUART_PRESCALER==1024L
   #define CSXX (1<<CS02)|(1<<CS01)|(1<<CS00)
#else
   #error "prescaller not correct"
#endif
 
   Функции void timer_set( int BAUD_RATE ) и void set_timer_interrupt( timer_isr ) удалил, а функцию инициализации программного UART`a, из которой они вызывались, подправил следующим образом. 
 
 

void SUART_Init(void)
{
   /*инициализация флагов*/
   flag_tx_busy = FALSE;
   flag_rx_ready = FALSE;
   flag_rx_waiting_for_stop_bit = FALSE;
   flag_rx_off = FALSE;

   /*настройка выводв*/
   RX_DDRX &= ~(1<<RX_PIN);
   RX_PORTX |= (1<<RX_PIN);
   TX_DDRX |= (1<<TX_PIN);
   TX_PORTX |= (1<<TX_PIN);

   /*настройка таймера Т0*/
   TCCR0B = CSXX;
   TCNT0 = TIMER_TCNT_VALUE;
   TIMSK |= (1<<TOIE0);
}
 
   Как видите, я задействовал 8-ми разрядный таймер Т0 в режиме NORMAL с прерыванием по событию «переполнение». Предделитель таймера (CSXX) определяется константой SUART_PRESCALER, а таймерная константа TIMER_TCNT_VALUE  вычисляется с помощью макроса. 
 
   Основной код программного UART`a поместил в обработчик прерывания таймера Т0, добавив в его начало код перезаписи значения счетного регистра TCNT0.  Лучшим вариантом было бы использование режима СТС, но этот режим у 8-ми разрдядных таймеров иногда отсутствует.
 
ISR(TIM0_OVF_VECTOR)
{
   uint8_t start_bit, flag_in;
   uint8_t rx_data;
   static uint16_t internal_rx_buffer;

TCNT0 += TIMER_TCNT_VALUE;
    …..
    //основной код
    ….
}

   Не удивляйтесь, что обработчик пррывания выглядит не так как принято в IAR`е. Просто объявление прерывания "запаковано" в макросе ISR. Это было сделано с целью совместимости кода с несколькими компиляторами. (Написание нескольких проектов отнимает много времени, не говоря уже об их дальнейшем исправлении. )

  Следующая доработка кода программного UART`a – добавление квалификатора volatile к  переменным, который используются и в прерывании и в обычных функциях. 

static volatile uint8_t inbuf[SUART_BUF_SIZE];
static volatile uint8_t qin = 0;
static volatile uint8_t qout = 0;

static volatile uint8_t flag_rx_ready;
static uint8_t flag_rx_waiting_for_stop_bit;
static uint8_t flag_rx_off;
static uint8_t rx_mask;
static uint8_t timer_rx_ctr;
static uint8_t bits_left_in_rx;

static volatile uint8_t flag_tx_busy;
static volatile uint8_t timer_tx_ctr;
static volatile uint8_t bits_left_in_tx;
static volatile uint16_t internal_tx_buffer;
 
  И в заключении, я добавил функции вывода строк из ОЗУ и из flash памяти. 

void SUART_PutStr(char *str)
{
   char ch;
   while (*str){
      ch = *str++;
      SUART_PutChar(ch);
   }
}


void SUART_PutStrFl(char __flash *str)
{
   char ch;
   ch = read_byte_flash(*str);
   while (ch) {
      SUART_PutChar(ch);
      str++;
      ch = read_byte_flash(*str);
   }
}


   Далее я сделал проект в IAR`е, подключил к нему полученную «либу» программного UART`а и написал пару строк кода для проверки результатов. Остальные изменения в коде касались небольшой оптимизации, про них я говорить не буду. 

   Думаю, теперь вы без проблем модифицируете этот софтовый UART под любой другой камень.

Файлы

Comments   

# Petrov 2012-02-21 14:52
Спасибо Pashgan. Подскажи пожалуйста, представленный тобой код позволит принять строку? Дело в том, что я делал программный uart и у меня не получилось допилить свою прошивку до возможности приема строки. На втором символе кристалл затыкался.
Reply | Reply with quote | Quote
# NeoMage 2012-03-15 17:15
Сколько SUART 9600 можно реализовать на ATMega16 или на ATMega88?
Reply | Reply with quote | Quote
# vovo5762 2012-08-30 12:01
Спасибо, очень помогло. Есть маленькое замечание. Переменная internal_tx_buf fer должна быть типа short, иначе передаётся только таблица ASCII7. Справедливо и для rx, но критично.
Reply | Reply with quote | Quote
# Airbus 2012-09-04 15:42
Спасибо хорошо написано.А как сделать для 13 тинюхи?Подправи ть названия регистров?
Reply | Reply with quote | Quote
# Pashgan 2012-09-04 21:58
Для Tiny13 нужно:
- исправить регистр TIMSK на TIMSK0 в функции инициализации
- правильно установить fuse бит CLKDIV8, чтобы тактовая частота контроллера не делилась на 8.
- уменьшить размер буфера IN_BUF_SIZE и размеры стеков CSTACK, RSTACK, потому что ОЗУ у tiny13 меньше, чем у tiny45
ну и вроде все...
Reply | Reply with quote | Quote
# dim 2014-07-19 15:57
Не помогает((
Reply | Reply with quote | Quote
# sasha-posit 2012-10-03 17:26
здравствуйте, я пользуюсь этим примером давно, все работает ок! но вот захотелось поспробовать реализовать 2-а таких уарта на меге 32, но что-то так и не получается. Как правильно это сделать???
Reply | Reply with quote | Quote
# Pashgan 2012-10-04 03:50
Сразу не могу сказать. Если на выходных будет время, попробую что-нибудь накатать. А тебе нужно чтобы они и на прием и на передачу работали или что то одно? Попробуй для начала скорость обмена снизить до минимума.
Reply | Reply with quote | Quote
# sasha-posit 2012-10-04 07:04
да дело в том что и на прием и передачу надо чтоб работали, я скорость снижал, первый работает, а второй нет. я организовал так: скопировал softuart.c,soft uart.h с другими именами, подключил их, изменил название всех переменных в этих файлах, но ничего так и не происходит, первый работает, а второй нет.
Reply | Reply with quote | Quote
# Pashgan 2012-10-04 09:36
Нужно переделать функцию GetChar, тогда должно заработать.
Reply | Reply with quote | Quote
# sasha-posit 2012-10-04 10:00
только ее нужно переделать?, и что именно в ней изменить
Reply | Reply with quote | Quote
# Pashgan 2012-10-04 11:21
Функция опрашивает приемный буфер. Если он пустой, она ждет когда придут данные. Этот момент и нужно изменить. Если подождешь до вечера, скину свой код. Только он написан на скорую руку, без претензий на оптимальность.
Reply | Reply with quote | Quote
# sasha-posit 2012-10-04 12:43
ок, конечно подожду:)
Reply | Reply with quote | Quote
# sasha-posit 2012-10-04 12:44
а вы с какой страны, у нас уже вечер:)
Reply | Reply with quote | Quote
# Pashgan 2012-10-04 17:04
Из России матушки..
Архив проекта выложил на форуме.
Reply | Reply with quote | Quote
# sasha-posit 2012-10-06 06:17
спасибо, буду разбираться!
Reply | Reply with quote | Quote
# Vadim 2012-10-23 19:34
Попробовал на Меге8 , с кварцем 110592Мгц Proteus показывает что с UART приходит каша. При 16Мгц все нормально,скоро сть правда у меня 9600. Может кто проверит будет ли Мега 8 нормально работать в Proteus с кварцем 110592 и на скорости 9600. Хочу понять это я где-то ступил или глючит Prot.
Reply | Reply with quote | Quote
# Vadim 2012-10-28 13:21
Ну ппц, объясните , почему на меге8 с кварцем 110592 на скорости 9600 программный UART не работает(шлет кракозябры. Его вообще реально запустить нормально с такой скорость при таком кварце?
На 16мгц проблем нет, на скорости 9600 все работает.
Reply | Reply with quote | Quote
# Pashgan 2012-10-28 17:24
Видимо не хватает быстродействия микроконтроллер а для обработки кода прерывания. У меня тоже не получилось запустить программный уарт на скорости 9600 при кварце 11.0592 МГц. На скорости 4800 худо бедно работает. Можно ли запустить? Думаю, да если оптимизировать или переписать код.
Reply | Reply with quote | Quote
# Radioded 2013-03-24 15:48
У меня на ATmega168 @8MHz заработало на 9600, правда пришлось поиграться с прескайлером и значением TCNT0.
Reply | Reply with quote | Quote
# Pashgan 2013-03-24 16:05
Я скоро выложу исправленный проект. Внес несколько мелких правок и код стал исправно работать и на 9600 и на скоростях повыше.
Reply | Reply with quote | Quote
# Андрей888 2012-11-07 09:11
На Казусе нашли косяк в проге http://kazus.ru/forums/showthread.php?t=102587
Reply | Reply with quote | Quote
# Pashgan 2012-11-07 21:25
Были подозрения, что проблема в расчете таймерной константы. Ну что ж, придется исправлять.
Reply | Reply with quote | Quote
# Petrov 2012-11-11 10:42
Подскажите на 8 Мгц заработает при скорости 9600L? Пробую завести на atmega64. Подскажите, какие при этом настройки необходимо произвести?
Reply | Reply with quote | Quote
# McAron 2012-12-18 22:55
А есть ли возможность пользовать программный uart на частоте 16,5MHz?
мне нужно связать два Attiny85 по SoftwareUART, и поподключать каждый к компу через usb. Но как я понял, реализация vusb для attiny85 возможна лишь на скорости 16,5MHz
Reply | Reply with quote | Quote
# Pashgan 2012-12-19 20:34
Возможность есть, а как это будет работать, не могу сказать. Надо проверять.
Reply | Reply with quote | Quote
# ZiperRUS 2012-12-29 14:04
чёто я не пойму так как поменять скорость то? у меня 16М резонатор надо скорость 19200 как её выставитЬ? при замене консканты скорости обмен нарушаеться!!!! это он только на 4800 только настроен чтоль тогда зачем константа юта и зачем людей обманываать
Reply | Reply with quote | Quote
# Snake 2013-02-23 13:05
Pashgan, а что бы значило в putchar:Code:internal_tx_buffer = (user_tx_buffer<<1) | 0x200;. К чему тут 0х200? Или вот в GetChar: Code: ch = inbuf[qout] & 0xFF;?
Reply | Reply with quote | Quote
# Pashgan 2013-02-23 13:44
Данная строчка формирует кадр, который будет передаваться по UARTу. Кадр состоит из стартового бита, данных и стопового бита. Стоповый бит всегда 1. Данные передаются младшим разрядом вперед.
Code:internal_tx_buffer = (user_tx_buffer<<1) | 0x200;
Байт данных сдвигается на один разряд влево и в 10-ом разряде устанавливается единица (0x200 - это 1000000000 в двоичном коде). Это единица и есть стоповый бит.
Смысл второй строчки объяснить не могу. Понятно, что это маска, но зачем она здесь не знаю.
Reply | Reply with quote | Quote
# Snake 2013-02-23 19:52
Ну да, я всё понимаю, только internal_tx_buf fer, как и user_tx_buffer имеют тип сhar? К чему сдесь 0x200? Вопрос по прежнему.
Reply | Reply with quote | Quote
# Pashgan 2013-02-23 21:13
Не обратил внимание, был уверен, что они типа int. Слушай, по ходу ошибка. Я нашел обсуждение этого кода на одном из зарубежных форумов. Там есть сообщения про эти строчки и народ говорит, что должен быть тип int.
Reply | Reply with quote | Quote
# Snake 2013-02-24 06:02
Похоже. Это то что сразу бросилось в глаза. Причём, и в других реализациях, кочует просто.((
Reply | Reply with quote | Quote
# Pashgan 2013-02-24 14:05
Будем исправлять..
Reply | Reply with quote | Quote
# Михалыч 2013-05-01 13:07
Здравствуйте уважаемый Pashgan. Спасибо за либы, просимулировал в протеусе проверил, работает но до тех пор пока кидаешь одиночные символы. При попытке отправить контроллеру строку например из 10 символов получаем эдак второй, пятый остальные либо мусор либо теряем. Подкажите пожалуйста в чём можт быть проблема, куда смотреть что предпринять, работаю при следующих настройках скорость 1200 бод, один стопбит, без проверки чётности, заранее благодарен.
Reply | Reply with quote | Quote
# Pashgan 2013-05-01 20:44
После праздников выложу исправленный вариант. Сейчас в коде есть ошибки.
Reply | Reply with quote | Quote
# Михалыч 2013-05-02 19:57
Большое спасибо за скорый ответ.
Reply | Reply with quote | Quote
# Михалыч 2013-05-16 09:31
Извините за наглость, когда будет исправленный вариант, праздники прошли, очень жду. Заранее благодарен.
Reply | Reply with quote | Quote
# Pashgan 2013-05-17 17:28
Статья исправлена, проекты перезалиты.
Reply | Reply with quote | Quote
# dax4 2013-05-03 10:37
Как сделать проверку, что uart готов к передачи? Просто мне надо отправлять под ряд много символов.
Reply | Reply with quote | Quote
# Михалыч 2013-05-04 15:28
Разрешите вмешаться:) для отправления строки я написал такую функцию:
void PutStr(char* s)
{
SUART_TurnRxOff();
for (is=0; is
Reply | Reply with quote | Quote
# Михалыч 2013-05-04 15:33
Простите, добавилось не полностью.
void PutStr(char* s)
{
SUART_TurnRxOff();
for (is=0; is
Reply | Reply with quote | Quote
# Михалыч 2013-05-04 15:37
Code:void PutStr(char* s)
{
SUART_TurnRxOff();
for (is=0; is<=(strlen(s)-1); is++) SUART_PutChar(s[is]);
SUART_TurnRxOn();
}
Проверка готовности выполняется внутри функций библиотеки, погуглив для себя сделал вывод, если товарищ Pashgan исправит упомянутые выше ошибки данный драйвер считаю наиболее удачным.
Reply | Reply with quote | Quote
# dax4 2013-05-17 19:25
Подскажите как настроить uart на 9600.
Reply | Reply with quote | Quote
# dax4 2013-05-17 19:37
Частота 8 мгрц.
Reply | Reply with quote | Quote
# Pashgan 2013-05-17 19:54
установить в заголовочном файле
F_CPU 8000000L
SUART_PRESCALER 8L
SUART_BAUD_RATE 9600L
Reply | Reply with quote | Quote
# dax4 2013-05-18 08:14
Он ошибку выдает: 1%
Reply | Reply with quote | Quote
# Pashgan 2013-05-18 09:07
Это не ошибка, это предупреждение. При частоте 8МГц нельзя подобрать такой период таймера, который бы давал ошибку меньше 1%. Если поставить предделитель 1, то расчетное значение будет больше 256, что тоже не подходит.
Reply | Reply with quote | Quote
# vadim 2013-09-06 10:27
Хотел узнать, так может контроллер принимать строку или нет? у меня нормально читает только первый символ, остальное каша.Отправляет данные пакетом нормально, а вот прием нормальный только посимвольный при приходе строки все нарушается кроме первого символа. использовал старые исходники , может в новых что то исправлено для приема строки?
Reply | Reply with quote | Quote
# Pashgan 2013-09-06 11:16
Такой функции там нет. Нужно добавлять.
Reply | Reply with quote | Quote
# vadim 2013-09-06 10:33
Что то скачал исходник для CV , а в архиве лежит для IAR, где взять для CV?
Reply | Reply with quote | Quote
# vadim 2013-09-06 10:35
Quoting vadim:
Что то скачал исходник для CV


для мега16
Reply | Reply with quote | Quote
# Pashgan 2013-09-06 11:17
Только что скачал SUART- Mega16-CV.rar и проверил. Там архив для Code Vision AVR.
Reply | Reply with quote | Quote
# vadim 2013-09-06 11:51
так а что на счет приема строки на скорости 9600? эта проблема решаема или нет? спасибо за оперативный ответ .
Reply | Reply with quote | Quote
# Pashgan 2013-09-06 12:01
Думаю да, но я не пробовал. По хорошему, нужно добавить туда кольцевой буфер и сделать прием и передачу через него.
Reply | Reply with quote | Quote
# vadim 2013-09-06 11:54
Скачал опять, всетаки там для iar,Author(s).. .: Pashgan http://ChipEnable.Ru
//
// Target(s)...: любой AVR контроллер
//
// Compiler....: IAR 5.11A
//
// Description.: Драйвер программного UART`a на микроконтроллер ах AVR.
// Код написан с использованием appnote фирмы IAR.
//
// Data........: 05.03.13

Да проект , под CV , но содержимое IAR
Reply | Reply with quote | Quote
# Pashgan 2013-09-06 12:03
Просто забыл стереть это. Этот файл для всех компиляторов одинаковый, благодаря compiler_3.h.
Reply | Reply with quote | Quote
# vadim 2013-09-06 12:21
А как быть с этим
обработчик прерывания в СV
interrupt [TIM0_OVF] void tim0_ovf(void)

обработчик прерывания в твоем архиве
ISR(TIM0_OVF_VECTOR)

CV, даже не пытается компилировать проект, many error.

Ну самое главное не это, может ли софтовый UART принимать строку а не побайтно? Просто если это не возможно нет смысла делать дальше , итак целый день убил на проект, все заработало , а с приемом строки вышел облом
Reply | Reply with quote | Quote
# Pashgan 2013-09-06 12:55
ISR разворачивается с помощью compiler_3.h как нужно для CV. Этот проект был скомпилирован с CV и проверен на работоспособнос ть. Иначе я бы его не размещал здесь.
Может, если добавить соответствующую функцию.
Reply | Reply with quote | Quote
# vadim 2013-09-06 13:59
Так что с приемом более одного байта? У кого то получилось?
Reply | Reply with quote | Quote
# JoJo 2013-09-06 16:04
Тебе же три раза ответили:

1Quote:
Такой функции там нет. Нужно добавлять.
2Quote:
Думаю да, но я не пробовал. По хорошему, нужно добавить туда кольцевой буфер и сделать прием и передачу через него.
3Quote:
Может, если добавить соответствующую функцию.
Reply | Reply with quote | Quote
# vadim 2013-09-06 19:16
Я теперь вообще не пойму смысл такого софтового UARTA в таком исполнении, разве что передать пару байт. Короче UART кастрат, который ещё нужно доводить до ума.
Мне кажет пакетная передача и прием данных это должны были быть основные функции в реализации софтового UART . Да жаль что зря потратил время, нужно было сразу МК с двумя железными UART закладывать в проект. Не доглядел я что тут проблемы с пакетным приемом, сам виноват.
Reply | Reply with quote | Quote
# Pashgan 2013-09-06 20:07
Надо было внимательно читать описание. В пользовательски х функциях есть только функция передачи строки, приема, а точнее чтения строки нет. В чем проблема допилить код самому? Основной функционал реализован. Принимает он в кольцевой буфер (я про это забыл, потому что не притрагивался к этому коду давно). Добавь функцию чтобы считывать из этого буфера данные в требуемую строку.

Например такая может быть функция
Code:
void SUART_GetStr(char *buf, uint8_t size)
{
uint8_t i;

/*копируем size - 1 символов*/
for(i = 0; i < size - 1; i++){
buf[ i ] = SUART_GetChar();
}
/*добавляем конец строки*/
buf[ i ] = 0;
}
Reply | Reply with quote | Quote
# Pashgan 2013-09-06 21:10
Вот эту строчку только поправь #define RX_NUM_OF_BITS 8 и должно заработать. Этот косяк только что нашел.
Я только что проверил код в железяке. У меня ловит строки на скорости 38400.
Reply | Reply with quote | Quote
# vadim 2013-09-07 05:40
Да я и так считывал из кольцевого буфера, это я сделал, проблема в том что в самом буфере только первый принятый байт из пакета нормальный,оста льное каша.

Quoting Pashgan:
Вот эту строчку только поправь #define RX_NUM_OF_BITS 8 и должно заработать.


А где это строка находится? В хидере? короче у меня в старых исходниках её вроде нигде нет и этот дефайн нигде не используется.
Reply | Reply with quote | Quote
# Pashgan 2013-09-07 06:12
Новые исходники скачай. В сишном файле эта строчка. Из-за нее и каша в остальных символах.
Reply | Reply with quote | Quote
# vadim 2013-09-07 06:30
Паша но не компилируются новые исходники в CV 1.24.8 . Открываю проект в CV , нажимаю компиляцию, на что выпадает сообщение -many error. У тебя какой CV ? Ты пробовал собрать этот проект в нем ?
Reply | Reply with quote | Quote
# Pashgan 2013-09-07 06:59
Проект для CV 2.04. Но думаю для старой версии его тоже можно переделать.
Reply | Reply with quote | Quote
# vadim 2013-09-07 17:09
А #define TX_NUM_OF_BITS 10 , тоже менять на 8 ? Или только #define RX_NUM_OF_BITS 8
Reply | Reply with quote | Quote
# Pashgan 2013-09-08 06:57
Нет, только RX_NUM_OF_BITS.
Reply | Reply with quote | Quote
# vadim 2013-09-10 06:17
Короче,разобрал ся,все работает,но есть одно но, иногда глючит прием данных, из 20 принятых пакетов ,один битый, у меня скорость 9600, хочу попробовать 4800, для этого нужно только сменить скорость в хидере или нужно ещё менять переделитель? И даст ли это что то? Будет ли точней работать софтовый UART на скорости 4800 чем на 9600?
Reply | Reply with quote | Quote
# Pashgan 2013-09-10 07:17
Это зависит от используемого кварца. Поменяй скорость. Если появятся предупреждения, поменяй предделитель. Не знаю, будет ли он точнее работать. Если дело не во внутренних багах, то это зависит от ошибки между задаваемой скоростью и реальной.
Reply | Reply with quote | Quote
# vadim 2013-09-10 19:18
Вот это баг в исходниках софтового UART!!! Я два дня просидел над своим кодом не понимая почему иногда приходит битый пакет данных, уже перелопатил весь свой код , поставил кучу контрольных условий, изменил топологию платы, и когда у меня уже придраться было не к чему, решил глянуть исходники софтового UART , а именно: код приема данных, и тут я был в шоке , а что это за хрень?

rx_data = (uint8_t)intern al_rx_buffer;
if ( rx_data != 0xC2 ){
inbuf[qin] = rx_data;
if ( ++qin >=SUART_BUF_SIZ E ){
qin = 0;
}
}

В функции приема байтов стоит условие на проверку пришедшего байта и если он 0xC2, то он просто пропускается, поэтому у меня и приходили битые пакеты , потому что в них проскакивал байт с таким значением 0xC2, я теперь не пойму а как другие пользовались этими исходниками? Ведь это явный баг влияющий на работу софтового UART. Убрал это строку, тестирую целый день , полет нормальный, софтовый UART работает отлично параллельно с железным . Жаль потраченных двух дней, из за такой ерунды.
Reply | Reply with quote | Quote
# vadim 2013-09-10 19:20
Паша убери в коде это условие. А то ещё кто-то, так как я попадет.
Reply | Reply with quote | Quote
# Pashgan 2013-09-10 19:43
Уберу, когда домой вернусь. Сейчас нет возможности.

Quote:
Я два дня просидел над своим кодом не понимая почему иногда приходит битый пакет данных, уже перелопатил весь свой код , поставил кучу контрольных условий, изменил топологию платы,
Нормальная ситуация. Сам много раз так попадал и вывел из этого свое правило: "если долго не можешь отловить баг, значит он в какой-то мелочи". Такие штуки, конечно, неприятны, но они повышают инженерное чутье.
Reply | Reply with quote | Quote
# Ozi 2014-02-21 20:13
Привет, Паша! Такой вопрос, этот код универсален? Скажем, к примерау я хочу использовать его в для МК АТмега162 на частоте 8 МГц. Изменяю все настройки частоты, и предделителя в коде соотвественно, вывод: ничего не работает.

Или может надо их как-то по-другому изменять. Помоги, пожалуйста, сижу ломаю, ломаю код, ничего не выходит.
Reply | Reply with quote | Quote
# Enhancer 2014-04-14 20:36
Quoting Petrov:
Спасибо Pashgan. Подскажи пожалуйста, представленный тобой код позволит принять строку? Дело в том, что я делал программный uart и у меня не получилось допилить свою прошивку до возможности приема строки. На втором символе кристалл затыкался.

Аналогичная проблема, отправка работает отлично, а вот строки принимает неверно, начиная со второго символа начинают приниматься крякозябры. Если отправлять по байту раз в секунду, то все принимается без ошибок. Помогите плиз доделать эту прошивку, чтобы можно было примать строки длинной до 32 байт. Спасибо!
Reply | Reply with quote | Quote
# Enhancer 2014-04-14 21:01
Разобрался, нужно поправить значение кол-во битов на 8 вместо 10, в rx
Reply | Reply with quote | Quote
# Pashgan 2014-04-16 01:35
Да, есть там такой косяк. Не доходят руки проекты поправить.
Reply | Reply with quote | Quote
# Алан 2014-05-16 16:07
Доброго времени суток
На tiny45 cvavr не работал прием, зависала.
поменял размер приемного буффера на 8 ,
вроде отпустило
RX_NUM_OF_BITS поменял на 8
но прием все равно не работает

Может что посоветуете?
Reply | Reply with quote | Quote
# Алан 2014-05-16 16:46
Забыл добавить в протеусе все работает
Reply | Reply with quote | Quote
# dim 2014-07-19 09:17
поделитесь, пожалуйста, проектом на tiny13
Reply | Reply with quote | Quote
# dim 2014-07-19 10:21
вроде все по примеру делаю, но ничего не работает вообще на скорости 9600
Reply | Reply with quote | Quote
# dim 2014-07-19 11:32
только каша, только хардкор
Reply | Reply with quote | Quote
# SashaN 2014-08-06 10:42
Спасибо за отличную библиотеку, для чего
NUM_OF_CYCLES ?
Reply | Reply with quote | Quote
# ave! 2015-05-02 23:08
Рабочий код для STM32F103C8T6 для среды CooCox.
Для STM32F030F4P6 SOFT UART незаменимая штука! Там всего 1 UART.
Тест «BBBBBBBBBBBBBB BBBBBBBBBBBBBBB BBBBBBBBBBBBBBB BBBBBBBBBBBBBBB BBBBBBBBAB» — LED ON на букву "А" в посылке.
http://electronix.ru/forum/index.php?showtopic=127730
Reply | Reply with quote | Quote
# motostep 2015-08-14 18:05
Code:/* Receiver Section */
if (flag_rx_off == FALSE){
if (flag_rx_waiting_for_stop_bit){
if ( --timer_rx_ctr == 0 ){
flag_rx_waiting_for_stop_bit = FALSE;
flag_rx_ready = FALSE;
rx_data = (uint8_t)internal_rx_buffer;
if ( rx_data != 0xC2 ){
inbuf[qin] = rx_data;
if ( ++qin >= SUART_BUF_SIZE ){
qin = 0;
}
}
}
}
else{ // rx_test_busy



не понимаю назначение условия if ( rx_data != 0xC2 ){

если в битовом буфере не 0xC2 то добавляем байт в буфер приема

но при этом при посылке байта 0xC2 он тоже не принимается

как это можно обойти?
Reply | Reply with quote | Quote
# Techno by 2015-11-18 20:38
Пару постов выше было. По ходу просто удалить.
Reply | Reply with quote | Quote
# motostepa 2015-11-19 13:13
Да, действительно удалить. Использую этот код на ATMega8515 с кварцем 7372800 на скорости 14400 кбод/с, совместно с аппаратным уартом и программным SPI, также была добавлена функция SUART_Stop() отключающая программный уарт для освобождения ресурсов контроллера.
Reply | Reply with quote | Quote
# Techno by 2015-11-20 11:40
А я ни как не могу добиться толку. В Протеусе на терминал выводит, а на аппаратный UART ни фига. Первый раз с UARTом работаю) Подскажи какие настройки в этом программном UARTе, 1стоп бит, без проверки чётности?
Reply | Reply with quote | Quote
# motostepa 2015-11-22 16:44
да все так, ты имеешь ввиду что программный работает, а аппаратный нет? Если что смогу помочь мое имя +@mail.ru
Reply | Reply with quote | Quote
# DungeonLords 2016-04-11 17:37
Да исправьте вы уже в примере, Аффтор! Или йаду глотай!

Вот это баг в исходниках софтового UART!!! Я два дня просидел над своим кодом не понимая почему иногда приходит битый пакет данных, уже перелопатил весь свой код , поставил кучу контрольных условий, изменил топологию платы, и когда у меня уже придраться было не к чему, решил глянуть исходники софтового UART , а именно: код приема данных, и тут я был в шоке , а что это за хрень?

rx_data = (uint8_t)intern al_rx_buffer;
if ( rx_data != 0xC2 ){
inbuf[qin] = rx_data;
if ( ++qin >=SUART_BUF_SIZ E ){
qin = 0;
}
}

В функции приема байтов стоит условие на проверку пришедшего байта и если он 0xC2, то он просто пропускается, поэтому у меня и приходили битые пакеты , потому что в них проскакивал байт с таким значением 0xC2, я теперь не пойму а как другие пользовались этими исходниками? Ведь это явный баг влияющий на работу софтового UART. Убрал это строку, тестирую целый день , полет нормальный, софтовый UART работает отлично параллельно с железным . Жаль потраченных двух дней, из за такой ерунды.

vadim
Reply | Reply with quote | Quote
# DungeonLords 2016-04-12 20:18
TIM0_OVF_VECTOR заменить на TIMER0_OVF_vect в Atmel Studio!
Reply | Reply with quote | Quote
# motostep 2016-04-13 18:22
Чуть выше я об этом писал и еще выше об этом же было, тут все на это натыкаются))))

на какой скрости используешь, проц, тактовая? у меня на меге8515, 7.3728МГц быстрее 14400кб/с начинает глючить не стал разбираться оставил как есть - просто надо было завести старый проект.
Reply | Reply with quote | Quote
# alex4 2016-04-21 14:17
Подскажите, пожалуйста, как модифицировать код mega16 для работы на mega328p в среде CodeVision?
Reply | Reply with quote | Quote
# motostepa 2016-04-28 15:51
Если проект не сложный - то логично поменять тип контроллера в настройках проекта и попытаться скомпилировать, а затем подправлять имена регистров и прерываний на которые будет ругаться компилятор.
Reply | Reply with quote | Quote
# Александр13 2016-08-28 10:57
Помогите, хочу использовать блок передачи в переключающемся режиме (передавать на несколько выходов). На одном порту получается, ТХ_PIN объявил вот так:
uint8_t TX_PIN;

А сделать так же с TX_PORTX, TX_DDRX не получается...

Помогите, как правильно это реализовать
Reply | Reply with quote | Quote
# SERQ 2016-10-28 09:13
Не получилось у меня запустить этот код, поэтому предлагаю свой, он очень короткий и рабочий, проверено. Пожалуйста скажите что в нем не так.
https://cloud.mail.ru/public/ND4D/s1S89iXp1
Reply | Reply with quote | Quote
# SERQ 2016-10-28 09:26
Забыл сказать код для ATMEGA8, для других камней могут быть другие названия регистров.
Reply | Reply with quote | Quote
# iz 2017-08-24 20:23
Спасибо большое!
Reply | Reply with quote | Quote
# Penney 2018-06-12 15:16
As a sequel to the company's widespread offGRID Specific battery case
for iPhone 6 , the brand new offGRID Bluetooth Good Backup Battery
Case for iPhone 6/6s ($80) contains a three,000mAh cell and the ability to wirelessly monitor and control energy and battery usage” utilizing Incipio's Sensible Battery
app.

Also visit my weblog; backup
usb dongle key: http://rockndata.net/UserProfile/tabid/61/userId/14076198/Default.aspx
Reply | Reply with quote | Quote
# Joeann 2018-06-12 22:58
Click on the Browse button and navigate to your
Home windows 7 ISO file that you wish to copy.


my page - usb backup storage: http://littlebaolin.gotoip55.com/member.asp?action=view&memName=TawnyaLarocca05
Reply | Reply with quote | Quote
# Tanya 2018-06-12 23:20
I've tried it by first plugging within the soar drive earlier
than starting the process and likewise by waiting until it asks me
to plug a drive in. I all instances the option to select the
drive by no means appears.

Have a look at my webpage usb backup system: http://iltrad.com/index.php?mid=qna&document_srl=26168
Reply | Reply with quote | Quote
# Crystle 2018-06-12 23:42
Nevertheless, you may decide USB machine just as simply, should you want to backup Home windows 7 to a USB flash drive as an alternative.



Here is my homepage ... usb backup
and restore: http://woodpresent.net/board_GDaX98/2368396
Reply | Reply with quote | Quote
# Sherryl 2018-06-13 01:02
I repeat: ffs, I don't perceive why windows did not have it natively for so
long.

Stop by my blog; usb backup utility: http://www.newkeys.co.kr/index.php?mid=app_review&document_srl=1058
Reply | Reply with quote | Quote
# Jim 2018-06-13 06:34
Hello to every one, it's in fact a nice for me to go
to see this web site, it consists of precious Information.

Look at my weblog: crack
software: http://www.m-point.it/index.php?option=com_k2&view=itemlist&task=user&id=303078
Reply | Reply with quote | Quote
# Twyla 2018-06-13 08:46
This post provides clear idea in support of the new
visitors of blogging, that actually how to do running a blog.


My web site - softwares with crack free download: http://discoversseseislands.com/index.php?option=com_k2&view=itemlist&task=user&id=15533
Reply | Reply with quote | Quote
# Leonore 2018-06-13 11:49
What a information of un-ambiguity and preserveness of valuable knowledge about unexpected feelings.


Also visit my web site; crack softwares sites: https://disqus.com/by/bladtchristensen3/
Reply | Reply with quote | Quote
# Gita 2018-06-13 17:38
Hi there! Do you know if they make any plugins to protect against hackers?
I'm kinda paranoid about losing everything I've worked hard on. Any recommendations?


Also visit my page: pc crack softwares free download: http://prdyapim.com/index.php?option=com_k2&view=itemlist&task=user&id=168564
Reply | Reply with quote | Quote
# Laverne 2018-06-14 01:04
This backup incorporates the full installation of the operating system, settings,
desktop programs, Windows apps, and all your private files.


My website :: backup usb vs nas: http://www.sgrc.gov.tt/ActivityFeed/MyProfile/tabid/61/UserId/263606/Default.aspx
Reply | Reply with quote | Quote
# Jonnie 2018-06-14 09:34
Not joking, I had the same problem with the fbrand new flash drive not
being recognised.

my website; usb hard disk backup: http://www.hheart.org/xe/?document_srl=2267
Reply | Reply with quote | Quote
# Sanora 2018-06-14 12:04
I savor, cause I found exactly what I used to be having
a look for. You've ended my 4 day long hunt!
God Bless you man. Have a nice day. Bye

Check out my web blog ... crack softwares free download: http://300miners.com/user/amountping13/
Reply | Reply with quote | Quote
# Elizbeth 2018-06-14 15:34
So what I am reading from all of this is that the exhausting
drive manufacturers all tried to make their drives use proper
up to 500mA, however would occasionally go over.

my homepage - backup usb drive on insertion: https://bluehawk.bluevolt.com/node/7570
Reply | Reply with quote | Quote
# Donald 2018-06-14 18:56
Unquestionably believe that that you said. Your favorite
justification appeared to be at the internet the easiest thing to take note of.
I say to you, I definitely get irked whilst other folks think
about worries that they just do not recognise about.
You managed to hit the nail upon the highest as smartly as defined out the entire
thing without having side-effects , other folks could take a signal.

Will likely be again to get more. Thanks

My website; crack softwares pc: http://vedelbeck4.blog2learn.com/5359001/fantasy-baseball-2008-top-40-starting-pitchers
Reply | Reply with quote | Quote
# Sherrill 2018-06-14 19:55
There are a variety of various burning programs out there that will mean you can make backup
discs: Nero, Easy CD Creator, Deep Burner, and so forth...
If you have already got certainly one of these software program, it's high-quality that you just use it to burn your backup copy of Windows 7.
Many of those DVD burning programs have direct data copying capabilities which should work.


Feel free to visit my web site ... usb
backup recovery software: http://www.historicalfirstimpressions.com/UserProfile/tabid/43/UserID/3438609/Default.aspx
Reply | Reply with quote | Quote
# Dean 2018-06-14 20:02
Amazing! This blog looks just like my old one!

It's on a completely different subject but it has pretty much
the same layout and design. Excellent choice of colors!



Feel free to surf to my blog post; crack softwares download for windows 10: http://www.elpetitpalauet.com/index.php?option=com_k2&view=itemlist&task=user&id=433370
Reply | Reply with quote | Quote
# Susanna 2018-06-14 22:32
In these instances, I plug an exterior USB drive, hearth up the utility, and I'm good to go in less than 20 minutes.


Also visit my web page usb backup windows: http://littlebaolin.gotoip55.com/member.asp?action=view&memName=TawnyaLarocca05
Reply | Reply with quote | Quote
# Tam 2018-06-15 00:02
Great post.

Check out my web site ... crack mac softwares: https://donaldsonmathis49.joomla.com/2-uncategorised/2-cloud-money-global-business-made-easy
Reply | Reply with quote | Quote
# Catherine 2018-06-15 00:44
File History is still helpful for day by day points and System Image for drive
upgrades.

Also visit my site: backup usb when plugged in: http://www.xunker.com/blog/member.asp?action=view&memName=HollieSpruson6756799
Reply | Reply with quote | Quote
# Nam 2018-06-15 12:04
I savor, lead to I found exactly what I used to be having a look for.
You have ended my 4 day long hunt! God Bless you man. Have
a great day. Bye

Here is my web site: crack android softwares: http://www.thamesbuddhistvihara.org/members/hyldgaardjosephsen0/activity/20887/
Reply | Reply with quote | Quote
# Hugo 2018-06-15 12:25
You should utilize WD Backup software program to easily back up your essential files,
images, movies and music.

Feel free to surf to my web page :: usb backup hard drive review: http://mysocialmatrix.com/index.php?do=/profile-515/info/
Reply | Reply with quote | Quote
# Alphonso 2018-06-15 14:00
You should use WD Backup software program to simply back up your necessary recordsdata,
pictures, videos and music.

Look into my web-site :: usb backup
and restore: http://demos.gamer-templates.de/specialtemps/clansphere20114Sdemo01/index.php?mod=users&action=view&id=2334527
Reply | Reply with quote | Quote
# Sang 2018-06-15 17:19
I always emailed this blog post page to all my friends, for the reason that if
like to read it after that my contacts will too.

Review my web blog - crack softwares pc: http://greenink.com/index.php?option=com_k2&view=itemlist&task=user&id=590436
Reply | Reply with quote | Quote
# Timmy 2018-06-15 20:29
Write more, thats all I have to say. Literally, it seems as though
you relied on the video to make your point. You clearly know
what youre talking about, why waste your intelligence on just posting videos to your blog when you could be giving us something enlightening to read?


Also visit my page :: softwares with crack free
download: http://silentrefluxcure.com/forum/member.php?action=profile&uid=5668
Reply | Reply with quote | Quote
# Maxie 2018-06-15 20:43
I took the little enclosure off and stripped
the insulation off the facility traces close to the tip.


My blog post: usb backup
encryption: https://www.artofliving.org/use-clonezilla-migrate-virtual-linux-environment
Reply | Reply with quote | Quote
# Willie 2018-06-15 20:49
Beginning off with Incipio's new USB Kind-C offerings, the company has introduced a brand new dock and a brand new hub that may assist
prolong the port choices in your MacBook.

Check out my web blog usb backup recovery software: http://moneymattersbvi.org/UserProfile/tabid/57/UserID/1183738/Default.aspx
Reply | Reply with quote | Quote
# Candace 2018-06-15 22:54
So if anybody can tell me that this appears fantastic for a backup restore
I would appreciate it and better of luck with backing up.



Feel free to visit my blog post; usb
backup incremental: http://www.linkbermuda.com/UserProfile/tabid/57/UserID/388017/Default.aspx
Reply | Reply with quote | Quote
# Brayden 2018-06-16 15:05
For each the SD and USB stick I get the message that the drive shouldn't be
a legitimate backup location.. Note I have tried two different USB sticks.



my website :: usb to backup computer: http://loveilook.com/UserProfile/tabid/43/UserID/1248677/Default.aspx
Reply | Reply with quote | Quote
# Aleida 2018-06-16 17:51
I do not know when so many people started expecting each little factor
to be handled by the OS instantly - Windows has done
primary Image Backup for a long time now, but tools from third parties like Veeam and Acronis (as well
as others) add much more options.

my web site - usb backup stick: https://ie.nrna.org/Activity-Feed/My-Profile/UserId/215723
Reply | Reply with quote | Quote
# Luciana 2018-06-16 20:56
An impressive share! I've just forwarded this onto a co-worker who has been doing a little research on this.
And he in fact ordered me breakfast because I stumbled upon it for him...
lol. So allow me to reword this.... Thank YOU for the meal!!
But yeah, thanx for spending some time to talk about this issue here on your
internet site.

my web page: crack
all softwares: http://imagesbylisette.com/index.php?option=com_k2&view=itemlist&task=user&id=342118
Reply | Reply with quote | Quote
# Clifford 2018-06-17 01:43
Interesting blog! Is your theme custom made or did you download
it from somewhere? A design like yours with a few simple tweeks would really make my blog jump out.
Please let me know where you got your design. Thanks

my blog :: crack adobe softwares: http://hamiltonsawyer4.blog5.net/5303711/intellectual-property-financing-towards-the-business-or-idea
Reply | Reply with quote | Quote
# Gerardo 2018-06-17 20:54
I don't even understand how I ended up right here, but I believed this post was good.

I do not realize who you might be but definitely you are going to a famous blogger if you happen to aren't already.

Cheers!

Also visit my web page how to crack a softwares: http://fjiajia.com/bbs/home.php?mod=space&uid=65495
Reply | Reply with quote | Quote
# Jestine 2018-06-17 23:31
This article will help the internet users for creating new blog or even a blog from start to end.


Also visit my web site softwares to crack wifi password: http://memebin.com/members/pettyhaahr8/activity/434235/
Reply | Reply with quote | Quote
# Deana 2018-06-19 08:21
Performing a backup this way will keep away from duplicate recordsdata
and an all the time updated copy of all my documents.



My blog - usb backup reviews: http://mysocialmatrix.com/index.php?do=/profile-515/info/
Reply | Reply with quote | Quote
# Elyse 2018-06-19 12:00
Oddly, Incipio will promote a $70 twin 2000mAh battery bundle with the Charging Dock,
which is capable of recharging each batteries at once using wireless contacts in its base.


my site: usb backup wizard: http://www.222pass.com/zbxe/?document_srl=57876385&USER=Pieroweb&mid=m2u
Reply | Reply with quote | Quote
# Bethany 2018-06-19 12:55
Hi there, There's no doubt that your blog may be having web browser compatibility problems.
Whenever I look at your website in Safari, it looks fine
but when opening in Internet Explorer, it's got some overlapping issues.
I merely wanted to give you a quick heads up!

Apart from that, great website!

My web page: how
to crack the softwares: http://startingnoworg.com/members/velezkrause80/activity/218816/
Reply | Reply with quote | Quote
# Remona 2018-06-19 13:53
Thanks for one's marvelous posting! I quite enjoyed reading it,
you're a great author.I will be sure to bookmark your blog and will often come back from now on. I want to encourage you to definitely continue your great job, have a nice weekend!


Feel free to surf to my blog: 94fbr crack softwares: http://greenink.com/index.php?option=com_k2&view=itemlist&task=user&id=759064
Reply | Reply with quote | Quote
# Angelo 2018-06-19 15:58
So if anybody can tell me that this seems to be tremendous for a backup restore I might admire it
and best of luck with backing up.

Here is my homepage - usb backup: https://www.twittersmedia.com/blog/46008/share-openwrt-x86-build1403/
Reply | Reply with quote | Quote
# Columbus 2018-06-19 18:17
I all the time emailed this website post page to all my associates,
because if like to read it then my links will too.


Here is my webpage: how to crack softwares using cmd: http://ocispain.com/index.php?option=com_k2&view=itemlist&task=user&id=390138
Reply | Reply with quote | Quote
# Rosita 2018-06-19 19:33
This is very fascinating, You are an excessively skilled blogger.
I've joined your feed and look forward to searching for extra of your great post.
Additionally, I have shared your web site in my social networks

Here is my site :: softwares with crack: http://avord.org/index.php?option=com_k2&view=itemlist&task=user&id=138563
Reply | Reply with quote | Quote
# Monroe 2018-06-19 21:24
Throughout the Windows Setup, click on Subsequent, then click the Repair your laptop link within the backside-left nook of the display.


Feel free to surf to my homepage ... usb backup
drive reviews: http://events.meinsurancereview.com/User-Profile/userId/185235
Reply | Reply with quote | Quote
# Alison 2018-06-19 23:31
As well as, in the event you don't backup repeatedly and a system failure happens, you
might lose helpful paperwork, settings and software
because you can solely restore the info because the final backup.


My web-site usb
able backup software: http://moneymattersbvi.org/UserProfile/tabid/57/UserID/1396380/Default.aspx
Reply | Reply with quote | Quote
# Nannie 2018-06-20 00:12
Utilizing Windows 10 in three PCs without issues and completely loving it.
Pre-ordered a Surface E-book that arrives next week, and waiting impatiently.


My site; backup your usb drive: https://www.twittersmedia.com/blog/43181/take-a-look-at-really-three-military-defense-notebook-getac-v100-detailed-e/
Reply | Reply with quote | Quote
# Jonelle 2018-06-20 03:01
Excellent you could have a charger for every cell and hook
them all up in sequence, however in actuality I have confidence that the
cells will cope simply high-quality.

my blog post usb backup wizard: http://www.masterjim.com/blog/member.asp?action=view&memName=EdithParmer1121123
Reply | Reply with quote | Quote
# Sherry 2018-06-20 03:35
To begin, go forward and launch the appliance through the use of the desktop shortcut, or navigating to
it using the trail: Start >All Packages >Windows 7 USB DVD Obtain Instrument.


Look at my site - windows 10
usb backup image: http://supertekcollision.com.au/UserProfile/tabid/43/UserID/3041285/Default.aspx
Reply | Reply with quote | Quote
# Nydia 2018-06-20 04:22
Howdy! Quick question that's entirely off topic. Do you know how to make your site mobile friendly?
My blog looks weird when browsing from my iphone 4. I'm trying to find
a theme or plugin that might be able to resolve this problem.
If you have any suggestions, please share. Appreciate it!


Stop by my homepage :: crack softwares website: http://kamgcoffee.net/index.php?option=com_k2&view=itemlist&task=user&id=1382909
Reply | Reply with quote | Quote
# Etsuko 2018-06-20 05:56
Its not my first time to go to see this web page, i am visiting this site dailly and obtain fastidious facts from here all the time.


Also visit my blog post :: softwares to crack wifi password: http://tcbresistencias.com/index.php?option=com_k2&view=itemlist&task=user&id=293908
Reply | Reply with quote | Quote
# Dusty 2018-06-20 06:48
You are so interesting! I do not think I've truly read
something like this before. So good to find somebody with
original thoughts on this subject matter. Seriously.. thanks for starting this
up. This web site is one thing that is needed on the web, someone with some
originality!

Here is my website softwares
to crack a modem: http://www2.tku.edu.tw/~tacx/html/userinfo.php?uid=2519296
Reply | Reply with quote | Quote
# Antoine 2018-06-20 09:10
Advanced solutions help organizations to boost thhe efficiency of
the investigations in a lesser cost. IT support software can be provided that offers a number off
different levels of service based for the needs of
your firm and it is budget. Computer has become an indivisible
part of our day-to-day life, thus need additional cqre and support
to ensure that we can work smoothly on it.

Review my weblog; quicken technical support: https://www.quickencustomerservice.com/about
Reply | Reply with quote | Quote
# Tesha 2018-06-20 11:08
Did you ever work out why your Win10 laptop did not acknowledge your USB drives when attempting to create a recovery drive.


Here is my blog post; usb backup
windows 10: http://s-k-p-p.de/read_blog/5963/cloud-key
Reply | Reply with quote | Quote
# Jennie 2018-06-20 15:18
Beginning off with Incipio's new USB Sort-C
offerings, the corporate has announced a brand new dock and a brand new hub
that may help lengthen the port choices on your MacBook.


Also visit my website: usb
backup system: https://bluehawk.bluevolt.com/node/7570
Reply | Reply with quote | Quote
# Melisa 2018-06-20 18:56
Greetings! Very helpful advice in this particular article!
It's the little changes which will make the
greatest changes. Thanks a lot for sharing!

Here is my website :: crack softwares
for android: http://getcosmetic.com/author/andersson87borch/
Reply | Reply with quote | Quote
# Dorothea 2018-06-20 20:30
We are a gaggle of volunteers and starting a new scheme in our community.
Your web site provided us with helpful info to work on. You have performed an impressive process and our whole group can be grateful to you.



my website softwares to
crack a modem: http://pfc.uk.com/index.php?option=com_k2&view=itemlist&task=user&id=12613
Reply | Reply with quote | Quote
# Russell 2018-06-20 22:20
If every thing is working correctly on my pc, I take advantage of the backup characteristic in Windows for all those situations where I have modified one thing on my system that could spoil the set up.


my weblog; usb photo backup: https://bluehawk.bluevolt.com/node/7570
Reply | Reply with quote | Quote
# Brett 2018-06-21 01:30
Either write this new key on a piece of paper or backup to say Google Drive in case your arduous
drive dies and you should replace it. The important thing say on the aspect of your laptop IS NOT GOING TO work.


Feel free to visit my webpage - usb hdd backup: http://www.skyoceanvillage.com/index.php?mid=travel&document_srl=87718
Reply | Reply with quote | Quote
# Betsy 2018-06-21 07:31
Kicking things off is the brand new offGRID Bluetooth Sensible Backup Battery Case for the iPhone 6 and 6s.
The case runs for $80 and sports a 3,000mAh battery inside, along with the ability wirelessly
management battery energy and monitor utilization with the Incipio offGrid Smart Battery
App.

My homepage :: backup
usb memory stick: http://www.cuiwenchu.com/?document_srl=354856
Reply | Reply with quote | Quote
# Abdul 2018-06-21 12:51
I don't know when so many individuals started anticipating each little
factor to be handled by the OS instantly - Home windows has accomplished
fundamental Picture Backup for a very long time now, but tools
from third parties like Veeam and Acronis (in addition to others) add
much more features.

my homepage usb
backup drive for: http://www.housinginindia.com/node/57618
Reply | Reply with quote | Quote
# Jeremiah 2018-06-21 20:57
Beneath Favorites tab, you can add all the pictures that you've taken from
a number of USB drives so as to find all pictures at one place.


Visit my web site :: usb backup restore: http://nemoadministrativerecord.com/UserProfile/tabid/57/userId/1721030/Default.aspx
Reply | Reply with quote | Quote
# Wendi 2018-06-21 23:06
The USB Type-C Dock alternatively features one USB Type-A port along with an ethernet jack, and HDMI
port and one USB Sort-C port than can energy your MacBook whereas the
Dock is in use.

My web-site :: usb backup software: http://inchem.cau.ac.kr/index.php?mid=B_Gallery&document_srl=591949
Reply | Reply with quote | Quote
# Henrietta 2018-06-22 03:25
Seagate Backup Plus Slim 1TB external HDD comes with an additional 200GB of Cloud Storage.



My homepage - usb backup hard drive: http://siteownersforums.com/member.php?u=138193
Reply | Reply with quote | Quote
# Brooke 2018-06-22 11:26
Particularly, we want one that may preserve the USB 5-volt line at 5 volts and provide 10 or 20 further mA
for, say, 1/2 of a second.

my web page: usb backup disk: https://www.ipledg.com/lenovo-computer-factory-pre-installed-dos-for-windows-8-hidden-partition-a-key-to-restore-8-0-software-to-set-the-initial-backup/
Reply | Reply with quote | Quote
# Chris 2018-06-22 12:19
I took the little enclosure off and stripped the insulation off the facility lines near
the top.

Stop by my homepage :: usb backup hard drive review: http://fat64.net/index.php?q=software
Reply | Reply with quote | Quote
# Rayford 2018-06-22 19:00
You would possibly be capable to backup your backup by copying it to OneDrive,
although I am undecided if it really is that straightforward or
practical.

Also visit my web site ... usb photo backup: http://www.sgrc.gov.tt/ActivityFeed/MyProfile/tabid/61/UserId/236388/Default.aspx
Reply | Reply with quote | Quote

Add comment