
Serg
28.11.2017
11:13:42
что интересно, в тестовом примере все работает

Thorn
28.11.2017
11:14:34
вообще зачем заводить отдельный указатель, можно char const* const get_buf() const { return &_value[0]; }

Serg
28.11.2017
11:15:14
ну вот хочется именно указатель

Google

Serg
28.11.2017
11:15:49

kiltum
28.11.2017
11:17:18
В общем, я кажется чего-то перестал понимать, что происходит. И почему оно работает на тестовом примере. Надо будет как-нить побаловаться.

Thorn
28.11.2017
11:17:41

Serg
28.11.2017
11:19:37
что-то портит память?

Dolphin
28.11.2017
12:15:02
попробуй вынести массив глобально, а члену класса в конструкторе указывай массив присваиванием указателя. Все буит работать.

Serg
28.11.2017
16:25:42
у меня несколько экземпляров класса
глобально не получится

Кирилл
28.11.2017
20:16:55
В общем, пилил себе прошивку для переходника на PSX-джой, пилил бы да пилил, но поведение таймера оказалось совершенно не таким как я ожида.
STM32F103C8
RCC_APB1PeriphClockCmd((RCC_APB1Periph_PWR|RCC_APB1Periph_TIM4), ENABLE);
RCC_APB2PeriphClockCmd((RCC_GPIO|RCC_APB2Periph_GPIOA|RCC_APB2Periph_AFIO), ENABLE);
GPIOA->CRL |= GPIO_CRL_MODE3;
TIM4->DIER |= TIM_DIER_UIE;
TIM4->PSC = 767;
TIM4->CR1 |= TIM_CR1_CEN;
NVIC_EnableIRQ(TIM4_IRQn);
while (1)
{
}
}
void TIM4_IRQHandler(void)
{
TIM4->SR &= ~TIM_SR_UIF;
GPIOA->ODR=GPIO_ODR_ODR3 & ~(GPIOA->IDR & GPIO_IDR_IDR3);
return;
}
По идее таймер должен срабатывать каждые 767 тактов, что в конечном итоге должно давать 16микросекунд между прерываниями, (48МГц/62500Гц)но у меня выходит какая-то хрень, мало совместимая с подсчётами.
Или я не туда считаю, или я что-то просеял, но вкурить, что конкретно, у меня не выходит.

Google

Byte
28.11.2017
20:46:49

Кирилл
28.11.2017
20:54:35
Хм, но нет
Настройка тактирования если что стандартная CMSIS на 48МГц, предделители 1/1/2

Byte
28.11.2017
20:56:16
Перепроверил в калькуляторе, на всякий случай:
RCC_APB1ENR.TIM4EN = 1;
TIM4_CR1.CEN = 0;
TIM4_PSC = 0;
TIM4_ARR = 767;
NVIC_IntEnable(IVT_INT_TIM4);
TIM4_DIER.UIE = 1;
TIM4_CR1.CEN = 1;

Bastad
28.11.2017
21:04:58
топор?

Кирилл
28.11.2017
21:17:05
Сделал чистый проект на всякий случай, та же фигня. Такое впечатление, будто мк сразу входит в прерывание и болтается в нём.

Dolphin
28.11.2017
21:38:14
че как маленький

Byte
28.11.2017
21:45:49

Кирилл
28.11.2017
21:58:19
gcc, да, каждый день обретаю счастье от его оптимизаций. Причём он даже умудряется лепить косяки без оных в настройке проекта.
Хм, отбой
Я джой не отрубил, у него походу на выводах ёмкость большая
Бестолково, конечно
с другой стороны, приклеивать к нему буферную микросхему тоже не охота
Положительный период короче отрицательного на 4мкс...
Энивей, благодарствую.

Byte
28.11.2017
22:14:05
Гут. Да не за что.

Кирилл
28.11.2017
22:22:41
У меня ещё такой вопрос. Есть подозрение на то, что на сигнал ACK от контроллёра нужно самостоятельно его подтягивать обратно к питанию в ответ, иначе он длится отнюдь не стандартные 5мкс, которые были получены при анализ обмена данными с приставки. Как лучше всего это сделать? Переконфигурировать вывод на лету на пушпул с одновременной установкой бита, а потом при следующем запросе возвращать во входной висяк? Или каким-либо образом подтягивать ещё одним пином? HiZ-состояние, я так понимаю, можно только через установку взодного висяка выставить на ноге.

Google

Andrey
29.11.2017
08:40:30
ЧЯДНТ ?
либо написано чтото вроде CharBuff buf = CharBuff() и отрабатывает конструктор копирования либо инстансы класса статика и не настроена инициализация
в приведенном коде проблем (кроме стилистических) нет

Serg
29.11.2017
10:14:18

Andrey
29.11.2017
10:22:15
А какие стилистические?
геттер вместо публичного поля, конструктор/оператор копирования либо запретить либо реализовать, magic number

Aleksey
29.11.2017
14:39:36
У нас на работе для Altium используется SVN. Прокинули доступ наружу пользуются люди даже очень удаленные - за границей.
Применяем только, для целей надежного бекапа и совместного доступа. Одновременной работы над проектом не получается.

Anastasia
29.11.2017
16:20:16

Aleksey
29.11.2017
16:21:26

Anastasia
29.11.2017
16:28:44

Firelander
29.11.2017
16:47:25
Tortoisesvn

Кирилл
29.11.2017
21:38:21
Никто с дребезгом по MISO не сталкивался?

Admin
ERROR: S client not available

Кирилл
29.11.2017
21:38:28

Alexander
29.11.2017
21:39:22
Подтяжки сделай
Pullup

Кирилл
29.11.2017
21:41:36
внешние т.е.? Если я сам вход перенастраиваю - он вообще ничего не видит
честно говоря, прихожу к мысли, что без буферной мк не обойтись - джой в ответ выдает невнятную хрень вместо идентификаторов, это при том, что напряжение родное, а частота опроса на 1/4 ниже

sifun
29.11.2017
21:48:35
может сопли?

Thorn
29.11.2017
21:49:13
Никто с дребезгом по MISO не сталкивался?
надо записать осциллографом этот "дребезг". может, напряжение низкое и не попадает в диапазон Vih master'а. может, фронты сильно крутые и происходит звон. может, наводка с sck или mosi. и т. п.
или это и есть реальные данные

Кирилл
29.11.2017
22:03:57
Да я джой уже отдельно от 1117 запитал, без толку. Дребезг вроде вылечил 2кОм резистором, хотя на вид номинал ещё меньше надо ставить. Да и ответы адекватные пошли теперь.
Осцил у меня аналоговый, к сожалению.

Google

Кирилл
29.11.2017
22:04:50

Thorn
29.11.2017
22:10:53

Кирилл
29.11.2017
22:12:19
Конечно.

Mad
30.11.2017
07:28:01
и что было?

Кирилл
30.11.2017
09:40:11

Влад
30.11.2017
12:03:49
Там в рурадио спросили, а какие производители плат есть вообще в рф. В комментариях накидали немного, а я собрал в табличку: https://docs.google.com/spreadsheets/d/1JrhFHf10r9XWSTyRTdYrkeKfcKAEqy2-xt3YZKMbfEE/edit?usp=sharing
Если кому надо, схороните, если кто хочет — дополняйте.

Морковочка
30.11.2017
12:12:04
их еще +20

Vasiliy
30.11.2017
12:12:05
спасибо

Морковочка
30.11.2017
12:12:49
могу накинуть какие самые выгодные, исходя из своего опыта

Alexey
30.11.2017
12:15:09
Было бы круто. В отдельной колонке

Морковочка
30.11.2017
12:15:28
а проверь ща
там компании есть кто под ключ все делает, но могут и платы