Всем хай! Помогите плз, может кто встречался с проблемой. Купил переходник USB-UART, чтоб с мегой 328P общаться по нему, и в итоге наткнулся на то, что мк с ноутом друг другом вообще не понимают, а именно отсылаю один байт на мк, а он видит совсем другой. Сначала думал что в прошивке для мк что-то не то, частоту несколько раз проверил, но ничего не помогло. С переходника rx с tx замыкал, увидел что он отправляет на мк правильно. Попробовал мк с мк, байты верно передаются. Но вот с мк на ноут передается какая-то хрень, и наоборот тоже хрень. В чем может быть причина ?

Комментарии: 29

  1. Anonim

    причина в настройке UART: скорость, байты 7 или 8 или 9, биты четности

    • Kga

      9600 8 бит 2 бита четности Проверял, менял, ничего не помогло

      • Anonim

        еще, частота кварца

        • Kga

          8 мгц от внутреннего, 8 мгц с внешнего кварца, результат один и тот же

          • Anonim

            если кварц на другую частоту или контроллер тактируется по факту от другого источника, тоже может быть такое. себя он увидит нормально другой контроллер есть? ардуина может какая, чтобы был эталон, чтоб работал 100%

            • Kga

              Неа, только две меги 328P

            • Kga

              Я вообще сейчас на переходник думаю, может ли быть с ним что не так? С драйверами к примеру

              • Petr

                Лог. анализатор есть?

                • Kga

                  Едет с али

                  • Anonim

                    как ты проверял что частота у тебя именно 8 мгц? программатор для AVR-ов есть? чем прошиваешь?

                    • Kga

                      USBasp все что могу сейчас, это поверить калькулятору фьюзов и протеусу, если им верить то у меня 8мгц ))

                      • Anonim

                        норм. смотри, если ты фьюзы не трогал, они у тебя на внутренний RC щас сделаны на 1 МГц

                        • Kga

                          я делитель убрал если че

                          • Anonim

                            блин ты прошаренный так неинтересно :)

                            • Kga

                              хи -хи)

                          • Anonim

                            помигай диодиком 1 сек, будет видно та ли частота. только в исходнике дефайн должен быть тоже 8000000 FMCU 8000000

              • Anonim

                вот поэтому их лучше тоже иметь два.

                • Petr

                  Наверняка на атмеге кварц/фьюзы не те

                  • Anonim

                    нет это вряд ли +1

          • Anonim

            поиграй частотами... сделай 1 стоп бит... какой терминал? рекомендую Terminal by Br@y

            • Kga

              Ну битрейд я разве что не менял, терминалы Toolkit и Terminal v1.9b

              • Anonim

                ну код давай тогда

                • Kga

                  я передавал с мк на мк байты раз в 0.5 сек, мигало нормально + просто отправлял всякую ерунду с мк на ноут через переходник рвз в секунду - тоже все норм было Если сюда код скину, то ниче? или в блокнотик лучше?

                  • Anonim

                    cbi(sfr, bit) (_SFR_BYTE(sfr) &= ~_BV(bit)) // clear bit sbi(sfr, bit) (_SFR_BYTE(sfr) |= _BV(bit)) // set bit sbi(DDRB, DDB2); // red led output while(1){ cbi(PORTB, PORTB2); _delay_ms(1000); cbi(PORTB, PORTB2); _delay_ms(1000); }

                    • Kga

                      сложна

                      • Anonim

                        не знаю, можно в https://pastebin.com/ ну помигай как умеешь это как вариант просто

Не нашли ответ?

Вам также может быть интересно