Logik, подозреваю компилятор шалит. У меня тоже ускоритель как-то перестал считать. Хотя тот же скетч до этого работал. :-\ Потом обозвал всё volatile и заработал. Вот тут в #49 как раз вариант, где всё с volatile.
Спасибо, dimax за плодотоворную идею. Именно компилятор и оказался! На ИДЕ 1.0.6 не умножает, а на 1.8.3 - все ок, даже без volatile. Неужели уходить с 1.0.6 прийдется :(
Start..
a= 16173 b= 7522
a * b = 121653306
299C385A
Решил еще немного потестить производительность на приложении, близком к реальности. В теме http://arduino.ru/forum/programmirovanie/krivye-beze подходящий код есть. Прорисовка векторного шрифта с масштабированием. Там и работа с пинами и математика при расчете линий и указательная арифметика и progmrm. Вобщем реалистично довольно. В каждом замере также делея на 1300мсек, учтем. И время прямо на экране и процесс визуальный. Вывод по i2c ногодрыгом, причем можна выбирать как работать: напрямую через регисры или через pinMode/digitalWrite. Вобщем такое получилось.
Atmega328p 16МГц вывод напрямую через регисры 1560мсек-1300мсек=260мсек
Для 32МГц делю цифры на 2 т.к. миллис ошибается в 2 раза. Визуально видно что быстрей рисует, а время на экране такоеже ))
Выводы:
1. эффект от сокращения времени операции есть, но слабый, до 20%.
2. 32МГц абсолютно честные, ровно в 2 раза быстрей 16МГц.
3. pinMode/digitalWrite - кака.
Заодно выяснилось что запитать экран SH1106 напрямую от GPIO у wavgat не получается (у атмеги - запросто), видно току не хватает. Перекинул землю экрана с GPIO на GND - заработало. VCC правда так и остался на GPIO.
Установил кварц 32МГц изменяю настройку регистров - виснет... Спасает перезаливка загрузчика... Смотрю в даташит ( у меня LGT8F328D ) похоже, что максимальный кварц это 20МГц ... Кто-то экспериментировал с кварцами ?
Вопрос по библиотекам...
Как заставить компилятор использовать "правильные" библиотеки, у меня постоянно грузит родные AVRовские либы. Решаю путем временного удаления библиотек, тогда подтягивает "правильные" ... Пытался размещать библиотеки в разных каталогах - не помогло...
renoshnik, про версию с буквой D мы вроде обсуждали, это более старая, максимум 20 МГц. Про библиотеки -какие? Можно класть в папку с аддноном, там есть своя папка для библиотек. Либо прописывать реальный путь в инклюдах.
renoshnik, про версию с буквой D мы вроде обсуждали, это более старая, максимум 20 МГц. Про библиотеки -какие? Можно класть в папку с аддноном, там есть своя папка для библиотек. Либо прописывать реальный путь в инклюдах.
версию с буквой D мы вроде обсуждали, это более старая, максимум 20 МГц
// Wire Master Reader
// by Nicholas Zambetti <http://www.zambetti.com>
// Demonstrates use of the Wire library
// Reads data from an I2C/TWI slave device
// Refer to the "Wire Slave Sender" example for use with this
// Created 29 March 2006
// This example code is in the public domain.
#include <Wire.h>
void setup()
{
Wire.begin(); // join i2c bus (address optional for master)
Serial.begin(9600); // start serial for output
}
void loop()
{
Wire.requestFrom(0x08, 6); // request 6 bytes from slave device #8
while (Wire.available()) // slave may send less than requested
{
char c = Wire.read(); // receive a byte as character
Serial.print(c); // print the character
}
delay(500);
}
получаю :
ПРЕДУПРЕЖДЕНИЕ: библиотека Wire должна запускаться на архитектурах (avr) и может быть несовместима с вашей платой на архитектуре (XI).
Скетч использует 3762 байт (12%) памяти устройства. Всего доступно 29696 байт.
Глобальные переменные используют 393 байт динамической памяти.
корректирую скетч :
// Wire Master Reader
// by Nicholas Zambetti <http://www.zambetti.com>
// Demonstrates use of the Wire library
// Reads data from an I2C/TWI slave device
// Refer to the "Wire Slave Sender" example for use with this
// Created 29 March 2006
// This example code is in the public domain.
#include <c:\Program Files (x86)\Arduino\hardware\wemos\XI\libraries\Wire\Wire.h>
void setup()
{
Wire.begin(); // join i2c bus (address optional for master)
Serial.begin(9600); // start serial for output
}
void loop()
{
Wire.requestFrom(0x08, 6); // request 6 bytes from slave device #8
while (Wire.available()) // slave may send less than requested
{
char c = Wire.read(); // receive a byte as character
Serial.print(c); // print the character
}
delay(500);
}
получаю :
sketch\master_reader.ino.cpp.o: In function `setup':
C:\Temp\arduino_modified_sketch_80574/master_reader.ino:17: undefined reference to `Wire'
C:\Temp\arduino_modified_sketch_80574/master_reader.ino:17: undefined reference to `Wire'
C:\Temp\arduino_modified_sketch_80574/master_reader.ino:17: undefined reference to `TwoWire::begin()'
sketch\master_reader.ino.cpp.o: In function `loop':
C:\Temp\arduino_modified_sketch_80574/master_reader.ino:23: undefined reference to `Wire'
C:\Temp\arduino_modified_sketch_80574/master_reader.ino:23: undefined reference to `Wire'
C:\Temp\arduino_modified_sketch_80574/master_reader.ino:23: undefined reference to `TwoWire::requestFrom(int, int)'
C:\Temp\arduino_modified_sketch_80574/master_reader.ino:25: undefined reference to `Wire'
C:\Temp\arduino_modified_sketch_80574/master_reader.ino:25: undefined reference to `Wire'
C:\Temp\arduino_modified_sketch_80574/master_reader.ino:25: undefined reference to `TwoWire::available()'
C:\Temp\arduino_modified_sketch_80574/master_reader.ino:27: undefined reference to `Wire'
C:\Temp\arduino_modified_sketch_80574/master_reader.ino:27: undefined reference to `Wire'
C:\Temp\arduino_modified_sketch_80574/master_reader.ino:27: undefined reference to `TwoWire::read()'
Подскажите, а как сюда загрузчик записать в голый чип?
Программатор нужен или можно тоже на каленках из ардуино собрать как с Atmega и Attiny от Atmel ?
Подскажите, а как сюда загрузчик записать в голый чип?
Программатор нужен или можно тоже на каленках из ардуино собрать как с Atmega и Attiny от Atmel ?
В самом низу скрина таки заметил различия Atmeta328p, WEMOS и LGT. Вы решили развлечь форум картинками "найди различия"? Да, разные платформы имеют разную скорость работы. Вы пять лет на форуме. Вроде. Должны бы уже знать.
Купил недавно десяток ардуин нано на чипе WAGVAT. Теперь нужно научиться их готовить. Помогите, пожалуйста, победить сие чудо китайского микроконтроллерной промышленности.
По програмной части вопросов нет. А вот аппаратная чудит. Есть у меня пара выводов, к которым подключены кнопки, подключены весьма длинными проводами ок 25см. Выводы подтянуты вверх внутри, кнопки замыкают на землю. Кнопки подключены к контактам A0 и A1, сконфигурированы как цифровые входы с подтяжкой.
Теперь подключаем в схему реле. Обычное однобаксовое 10А реле. Подключаем пока только питание. Управляю релюхой пока замыкая пинцетом вход на землю.
Так вот когда реле замкнуто начинают случайным образом срабатывать кнопки. Визуально осциллографом не видно, что напряжение как либо проседает, но при чтении A0 и A1 явно проскакивают нули.
Купил недавно десяток ардуин нано на чипе WAGVAT. Теперь нужно научиться их готовить. Помогите, пожалуйста, победить сие чудо китайского микроконтроллерной промышленности.
По програмной части вопросов нет. А вот аппаратная чудит. Есть у меня пара выводов, к которым подключены кнопки, подключены весьма длинными проводами ок 25см. Выводы подтянуты вверх внутри, кнопки замыкают на землю. Кнопки подключены к контактам A0 и A1, сконфигурированы как цифровые входы с подтяжкой.
Теперь подключаем в схему реле. Обычное однобаксовое 10А реле. Подключаем пока только питание. Управляю релюхой пока замыкая пинцетом вход на землю.
Так вот когда реле замкнуто начинают случайным образом срабатывать кнопки. Визуально осциллографом не видно, что напряжение как либо проседает, но при чтении A0 и A1 явно проскакивают нули.
не понял какое отношение форма сигнала на пине имеет к качеству генерации? у пина обычно на выходе push-pull драйвер, а генератор туда не напрямую подценпляется а через цепочку всяких цифровых мультиплексоров.
форма сигнала на выходе исключительно относится к работе выходного push-pull драйвера
вопрос какие могут быть отличия по прерываниям, чтоб заставить либу камеры работать с wavgat . Интересно во сколько раз вырастит FPS передачи с камеры на дисплей , в отличии от atmega328 https://youtu.be/TqSY6FETuos
сборка https://youtu.be/Dp3RMb0e1eA
Тема несомненно интересная, лично мне быстрый АЦП, да еще с усилителем, но думаю что было бы ОЧЕНЬ хорошо если бы в первом соощении автор нормально расписал как подружить Arduino и WAVGAT.
Я вроде не полный баран в части винды, по убил почти час пока не залил блинк и все равно ругается при компиляции.
Каково новичкам прочитавшим инструкцию на сайте производителя мне и представить страшно!
AS31979, так обзор не для новичков был, я думал по примерам это понятно :) Я даже не советывал бы начинающим покупать эту плату. Проблемы с установкой аддона ещё самое страшное, совместимость с библиотеками более серьёзное препятствие..
Тема несомненно интересная, лично мне быстрый АЦП, да еще с усилителем, но думаю что было бы ОЧЕНЬ хорошо если бы в первом соощении автор нормально расписал как подружить Arduino и WAVGAT.
Я вроде не полный баран в части винды, по убил почти час пока не залил блинк и все равно ругается при компиляции.
Каково новичкам прочитавшим инструкцию на сайте производителя мне и представить страшно!
А кроме первого сообщения тему не читали?
В #62 я, с картинками и путями, спецом все расписал. Или думаете я себе на память тут скрины и картинки делаю?
Если Вам не трудно подскажите как заставить данную плату подключить внутреннее опорное напряжение?
Ситуация такая: Ваши скетчи работают четко (на вывод уровня напряжения питания и вывод опорных напряжений). Мой работает только на внешнем опорном. А в этом варианте верхняя точка около 1в
gorar, Поставьте родной аддон от производителя чипа. Должно помочь.
Да! Этот аддон помог с АЦП все пошло, и компилится быстрее и места меньше занимает в памяти. А то подкидал и с сайта продавана (wavgat) и с первого сообщения темы - все никак - что-то меняется но не так как нужно.
Спасибо!
п.с. может в шапке поменять или добавить еще эту ссылку!?
Подскажите, нормальный программатор так и не появился? Может можно как-то AVR-ISP приспособить? Врядли они уж совсем новый протокол разрабатывали, навернякак какая-то вариация STK-500
Хотя, получить отладку было бы вообще верхом мечтаний. Так-то камень очень вкусный. Особливо аппаратный недо-DSP и аналоговый тракт.
И ещё, кстати, почему в ногодрыге не используете конструкцию типа
PINxN = 1;
RJMP $-1;
Позволяет избежать джиттера на выводимом сигнале. Правда частота получается поменьше. Можно сделать так: повторить строчку
Подскажите, нормальный программатор так и не появился? Может можно как-то AVR-ISP приспособить? Врядли они уж совсем новый протокол разрабатывали, навернякак какая-то вариация STK-500
МК шьтся через Serial Wire Debug, этот протокол относится к классу JTAG программаторов/дебаггеров. Так что чисто аппаратно подойдёт любой программатор Jtag, проблема в поддержке данного МК софтом для программирования.
pittyalex пишет:
И ещё, кстати, почему в ногодрыге не используете конструкцию типа. Позволяет избежать джиттера на выводимом сигнале. Правда частота получается поменьше.
PINxN = 1;
Именно эта команда и используется, посмотрите внимательнее. К джиттеру тип ногодрыга не имеет отношения, это проблема тактового генератора и прерываний.
Да, посмотрел в первом посте - действительно пин используется. Просто некоторые тут используют запись в порт. Частота выводимого сигнала почти в 2 раза повышается, но появляется джиттер на команду перехода. Кстати, а если попробовать таймер использовать с удовольствием удвоением частоты, какую максимальную частоту можно получить на выходе?
И ещё: для использования "секретного вольтметра" (хорошая идея, у Вас посмотрел, теперь на стм8 использую для контроля напряжения батарейки. Но там опоры нет, пришлось повыпендриваться). Так вот, теперь можно использовать встроенный делитель направления. И, кстати, у этого АЦП есть полезная фича в виде автоматической коррекции смещения АЦП. Аппаратно, типа калибровки. В общем, прикольная штука, жаль мало отзывов о надёжности.
И насчёт отладки я так и не понял: вот есть у меня свисток swd от st-link, можно даже J-link запилить, это чем нибудь поможет? AVR studio может их отлаживать?
pittyalex, таймер можно затактировать от pll 64МГц, соответссно максимальная частота с выхода таймера 32МГц. Про отладку не знаю, за неимением программатора я не угублялся в эту тему. По идее под их программатор есть USB драйвер, который виден из под студии.
А то, что на Ali или eBay продают под видом 300Mhz проб за 10$ - полный отстой. У нас на работе брали в рент скоп на 4ГГц, так я поигрался с пробами немного.
ua6em , переключите на щупе делитель на 10 . на первой странице же об этом предупреждал.
У меня шупы плохие, продавану я весь мозг за них вынес, но спор так и не выиграл )))
Откалибровал, так что работают что при делителе 1, что 10 одинаково, за исключением шумов, с делителем 10 - лезут
Второе, а почему при использовании таймеров такой огромный джиттер, когда программно реализую через микрос() - понятно, точность попадания как минимум 4 микросекунды, ну а через таймеры??? в чем засада?
Logik, подозреваю компилятор шалит. У меня тоже ускоритель как-то перестал считать. Хотя тот же скетч до этого работал. :-\ Потом обозвал всё volatile и заработал. Вот тут в #49 как раз вариант, где всё с volatile.
//подозреваю компилятор шалит.
Спасибо, dimax за плодотоворную идею. Именно компилятор и оказался! На ИДЕ 1.0.6 не умножает, а на 1.8.3 - все ок, даже без volatile. Неужели уходить с 1.0.6 прийдется :(
Start..
a= 16173 b= 7522
a * b = 121653306
299C385A
Решил еще немного потестить производительность на приложении, близком к реальности. В теме http://arduino.ru/forum/programmirovanie/krivye-beze подходящий код есть. Прорисовка векторного шрифта с масштабированием. Там и работа с пинами и математика при расчете линий и указательная арифметика и progmrm. Вобщем реалистично довольно. В каждом замере также делея на 1300мсек, учтем. И время прямо на экране и процесс визуальный. Вывод по i2c ногодрыгом, причем можна выбирать как работать: напрямую через регисры или через pinMode/digitalWrite. Вобщем такое получилось.
Вопрос по кварцу...
Установил кварц 32МГц изменяю настройку регистров - виснет... Спасает перезаливка загрузчика... Смотрю в даташит ( у меня LGT8F328D ) похоже, что максимальный кварц это 20МГц ... Кто-то экспериментировал с кварцами ?
Вопрос по библиотекам...
Как заставить компилятор использовать "правильные" библиотеки, у меня постоянно грузит родные AVRовские либы. Решаю путем временного удаления библиотек, тогда подтягивает "правильные" ... Пытался размещать библиотеки в разных каталогах - не помогло...
renoshnik, про версию с буквой D мы вроде обсуждали, это более старая, максимум 20 МГц. Про библиотеки -какие? Можно класть в папку с аддноном, там есть своя папка для библиотек. Либо прописывать реальный путь в инклюдах.
renoshnik, про версию с буквой D мы вроде обсуждали, это более старая, максимум 20 МГц. Про библиотеки -какие? Можно класть в папку с аддноном, там есть своя папка для библиотек. Либо прописывать реальный путь в инклюдах.
версию с буквой D мы вроде обсуждали, это более старая, максимум 20 МГц
== значит правильно мыслю... найду 20МГц кварц и поэкспериментирую ... :-)
Можно класть в папку с аддноном, там есть своя папка для библиотек.
== там они и находятся... c:\Program Files (x86)\Arduino\hardware\wemos\XI\libraries
Либо прописывать реальный путь в инклюдах.
== межете "пнуть" в нужном направлении, ранее не сталкивался... :-(
renoshnik, #include "путь/файл.h "
получаю :
получаю :
renoshnik, ну давайте смотреть. Вот то, что я написал:
#include "путь/файл.h "
И вот ваша строка:
#include <c:\Program Files (x86)\Arduino\hardware\wemos\XI\libraries\Wire\Wire.h>
Скобки вместо кавычек, слэши в другую сторону..
renoshnik, ну давайте смотреть. Вот то, что я написал:
#include "путь/файл.h "
И вот ваша строка:
#include <c:\Program Files (x86)\Arduino\hardware\wemos\XI\libraries\Wire\Wire.h>
Скобки вместо кавычек, слэши в другую сторону..
Я это все перепробовал и кавычки и слеши крутил, результат без изменения...
Но похоже тут, что-то другое...
сделал полный вывод при компиляции и вот :
Проблема решена - обновил библиотеки.
Подскажите, а как сюда загрузчик записать в голый чип?
Программатор нужен или можно тоже на каленках из ардуино собрать как с Atmega и Attiny от Atmel ?
sav13, вся известная информация о прошивке в сообщении #1
Подскажите, а как сюда загрузчик записать в голый чип?
Программатор нужен или можно тоже на каленках из ардуино собрать как с Atmega и Attiny от Atmel ?
https://www.drive2.ru/b/508852882896847017/
sav13, вся известная информация о прошивке в сообщении #1
Да. Читал. Просто вдруг кто-то продвинулся дальше. Китайцы как то в чистый чип загрузчик зашивают
[https://www.drive2.ru/b/508852882896847017/
Это про LGT8F328D чип
[https://www.drive2.ru/b/508852882896847017/
Это про LGT8F328D чип
при заливке выбираете свой тип контроллера, а последовательность действий аналогичная.
я в Р тоже заливал, только первый раз выдало ошибку, а со второго раза записалось.
sav13, я изучил сполна, ничего нового. Китайцы разумеется программатором шьют. Их 2 вида есть под этот чип. Вот такой полноценнный ,
И огрызок:
Есть даже мануал по прошивке лоадера для чайников )
почему такое расхождение ?
+++++++++++++
дополнено через 15 минут ....
получается. что "виринг" совсем НЕ для этих МК ...
Ну незнаю что там у Вас, но у меня первый код стабильно дает
Ну незнаю что там у Вас, но у меня первый код стабильно дает
не знаю, у меня получается, то что на скринах :-(
Вот из-за таких (моих) результатов и выводы такие.
В самом низу скрина таки заметил различия Atmeta328p, WEMOS и LGT. Вы решили развлечь форум картинками "найди различия"? Да, разные платформы имеют разную скорость работы. Вы пять лет на форуме. Вроде. Должны бы уже знать.
Всем привет,
Купил недавно десяток ардуин нано на чипе WAGVAT. Теперь нужно научиться их готовить. Помогите, пожалуйста, победить сие чудо китайского микроконтроллерной промышленности.
По програмной части вопросов нет. А вот аппаратная чудит. Есть у меня пара выводов, к которым подключены кнопки, подключены весьма длинными проводами ок 25см. Выводы подтянуты вверх внутри, кнопки замыкают на землю. Кнопки подключены к контактам A0 и A1, сконфигурированы как цифровые входы с подтяжкой.
Теперь подключаем в схему реле. Обычное однобаксовое 10А реле. Подключаем пока только питание. Управляю релюхой пока замыкая пинцетом вход на землю.
Так вот когда реле замкнуто начинают случайным образом срабатывать кнопки. Визуально осциллографом не видно, что напряжение как либо проседает, но при чтении A0 и A1 явно проскакивают нули.
Есть идеи как с этим бороться?
Есть идеи как с этим бороться?
ВАВГАТ-то тут причем? Обычные импульсные помехи из-за включения реле. Подключите реле к ардуине на Атмеловском чипе - будет тоже самое
Всем привет,
Купил недавно десяток ардуин нано на чипе WAGVAT. Теперь нужно научиться их готовить. Помогите, пожалуйста, победить сие чудо китайского микроконтроллерной промышленности.
По програмной части вопросов нет. А вот аппаратная чудит. Есть у меня пара выводов, к которым подключены кнопки, подключены весьма длинными проводами ок 25см. Выводы подтянуты вверх внутри, кнопки замыкают на землю. Кнопки подключены к контактам A0 и A1, сконфигурированы как цифровые входы с подтяжкой.
Теперь подключаем в схему реле. Обычное однобаксовое 10А реле. Подключаем пока только питание. Управляю релюхой пока замыкая пинцетом вход на землю.
Так вот когда реле замкнуто начинают случайным образом срабатывать кнопки. Визуально осциллографом не видно, что напряжение как либо проседает, но при чтении A0 и A1 явно проскакивают нули.
Есть идеи как с этим бороться?
Вот тут делал кнопку с длинным проводом
http://samopal.pro/fancontroller3/
Пока эту схему не реализовал, тоже включалось от чего угодно
dimax спасибо за хороший, интересный обзор
не понял какое отношение форма сигнала на пине имеет к качеству генерации? у пина обычно на выходе push-pull драйвер, а генератор туда не напрямую подценпляется а через цепочку всяких цифровых мультиплексоров.
форма сигнала на выходе исключительно относится к работе выходного push-pull драйвера
axill, не понял об чём вы? В начале темы я про джиттер тактового генератора писал, с формой там вроде нет проблем..
вот здесь парень в попытке подключить к видеокамере OV7670 , разобрался как запустить дисплей SPI на Wavgat
https://youtu.be/e5_wGenyRVU
вопрос какие могут быть отличия по прерываниям, чтоб заставить либу камеры работать с wavgat . Интересно во сколько раз вырастит FPS передачи с камеры на дисплей , в отличии от atmega328 https://youtu.be/TqSY6FETuos
сборка https://youtu.be/Dp3RMb0e1eA
Тема несомненно интересная, лично мне быстрый АЦП, да еще с усилителем, но думаю что было бы ОЧЕНЬ хорошо если бы в первом соощении автор нормально расписал как подружить Arduino и WAVGAT.
Я вроде не полный баран в части винды, по убил почти час пока не залил блинк и все равно ругается при компиляции.
Каково новичкам прочитавшим инструкцию на сайте производителя мне и представить страшно!
AS31979, так обзор не для новичков был, я думал по примерам это понятно :) Я даже не советывал бы начинающим покупать эту плату. Проблемы с установкой аддона ещё самое страшное, совместимость с библиотеками более серьёзное препятствие..
Тема несомненно интересная, лично мне быстрый АЦП, да еще с усилителем, но думаю что было бы ОЧЕНЬ хорошо если бы в первом соощении автор нормально расписал как подружить Arduino и WAVGAT.
Я вроде не полный баран в части винды, по убил почти час пока не залил блинк и все равно ругается при компиляции.
Каково новичкам прочитавшим инструкцию на сайте производителя мне и представить страшно!
А кроме первого сообщения тему не читали?
В #62 я, с картинками и путями, спецом все расписал. Или думаете я себе на память тут скрины и картинки делаю?
dimax
Если Вам не трудно подскажите как заставить данную плату подключить внутреннее опорное напряжение?
Ситуация такая: Ваши скетчи работают четко (на вывод уровня напряжения питания и вывод опорных напряжений). Мой работает только на внешнем опорном. А в этом варианте верхняя точка около 1в
gorar, Поставьте родной аддон от производителя чипа. Должно помочь.
gorar, Поставьте родной аддон от производителя чипа. Должно помочь.
Да! Этот аддон помог с АЦП все пошло, и компилится быстрее и места меньше занимает в памяти. А то подкидал и с сайта продавана (wavgat) и с первого сообщения темы - все никак - что-то меняется но не так как нужно.
Спасибо!
п.с. может в шапке поменять или добавить еще эту ссылку!?
gorar, добавил ссылку после документации.
А библиотеки SPI, и все что с ним связано должно нормально работать? В частноcти интересует библиотека RF24
Подскажите, нормальный программатор так и не появился? Может можно как-то AVR-ISP приспособить? Врядли они уж совсем новый протокол разрабатывали, навернякак какая-то вариация STK-500
Хотя, получить отладку было бы вообще верхом мечтаний. Так-то камень очень вкусный. Особливо аппаратный недо-DSP и аналоговый тракт.
И ещё, кстати, почему в ногодрыге не используете конструкцию типа
PINxN = 1;
RJMP $-1;
Позволяет избежать джиттера на выводимом сигнале. Правда частота получается поменьше. Можно сделать так: повторить строчку
PINxN = 1;
желаемое количество раз.
Подскажите, нормальный программатор так и не появился? Может можно как-то AVR-ISP приспособить? Врядли они уж совсем новый протокол разрабатывали, навернякак какая-то вариация STK-500
МК шьтся через Serial Wire Debug, этот протокол относится к классу JTAG программаторов/дебаггеров. Так что чисто аппаратно подойдёт любой программатор Jtag, проблема в поддержке данного МК софтом для программирования.
И ещё, кстати, почему в ногодрыге не используете конструкцию типа. Позволяет избежать джиттера на выводимом сигнале. Правда частота получается поменьше.
PINxN = 1;
Именно эта команда и используется, посмотрите внимательнее. К джиттеру тип ногодрыга не имеет отношения, это проблема тактового генератора и прерываний.
Да, посмотрел в первом посте - действительно пин используется. Просто некоторые тут используют запись в порт. Частота выводимого сигнала почти в 2 раза повышается, но появляется джиттер на команду перехода. Кстати, а если попробовать таймер использовать с удовольствием удвоением частоты, какую максимальную частоту можно получить на выходе?
И ещё: для использования "секретного вольтметра" (хорошая идея, у Вас посмотрел, теперь на стм8 использую для контроля напряжения батарейки. Но там опоры нет, пришлось повыпендриваться). Так вот, теперь можно использовать встроенный делитель направления. И, кстати, у этого АЦП есть полезная фича в виде автоматической коррекции смещения АЦП. Аппаратно, типа калибровки. В общем, прикольная штука, жаль мало отзывов о надёжности.
И насчёт отладки я так и не понял: вот есть у меня свисток swd от st-link, можно даже J-link запилить, это чем нибудь поможет? AVR studio может их отлаживать?
pittyalex, таймер можно затактировать от pll 64МГц, соответссно максимальная частота с выхода таймера 32МГц. Про отладку не знаю, за неимением программатора я не угублялся в эту тему. По идее под их программатор есть USB драйвер, который виден из под студии.
Сегодня получил платку и попытал, а как у неё с Таймерами? Очень достойно!
Отклонение от расчетных данных по нулям, скетч и осциллограмма ниже:
А вот меандр, при переводе тактовой на 32Mhz совсем не меандр )))
А вот меандр, при переводе тактовой на 32Mhz совсем не меандр )))
А какой у вас осцил? Может просто не тянет. Или щупы хреновые.
HANTEK-6022BE
Эти щупы и для 200Mhz осциллографов предлагают, может и не тянет, правда частота всего 16 мегагерц, не 160, не 1600 )))
Нормальные пробы на 300MHz стоят дороже чем весь HANTEK-6022BE вместе взятый - https://www.mouser.com/Test-Measurement/Test-Equipment-Accessories/Test-Probes/_/N-7uqd9?P=1z0w6tm
А то, что на Ali или eBay продают под видом 300Mhz проб за 10$ - полный отстой. У нас на работе брали в рент скоп на 4ГГц, так я поигрался с пробами немного.
Достал из загашника платку с этим 8F328P
У меня, правда, немного другая, без кварца - https://ru.aliexpress.com/item/TTGO-XI-8F328P-U-arduino-nano-V3-0-promini/32947390528.html
Так вот, нормальный там меандр на 16и МГц. Это у вас скоп или/щупы
Это тот скетч, что я привел? И что за модель осциллографа, явно выше 100 мгц )))
Да скетч из поста N103. А скоп, как раз, на 100МГц - Hantek DSO5102P
Да скетч из поста N103. А скоп, как раз, на 100МГц - Hantek DSO5102P
То что 100 по осциллограмме видно ))) (затухающие колебания на нижней ступеньке как раз в районе 100 Mhz)
ua6em , переключите на щупе делитель на 10 . на первой странице же об этом предупреждал.
ua6em , переключите на щупе делитель на 10 . на первой странице же об этом предупреждал.
У меня шупы плохие, продавану я весь мозг за них вынес, но спор так и не выиграл )))
Откалибровал, так что работают что при делителе 1, что 10 одинаково, за исключением шумов, с делителем 10 - лезут
Второе, а почему при использовании таймеров такой огромный джиттер, когда программно реализую через микрос() - понятно, точность попадания как минимум 4 микросекунды, ну а через таймеры??? в чем засада?