Jump to content

    

Captain777

Участник
  • Content Count

    47
  • Joined

  • Last visited

Community Reputation

0 Обычный

About Captain777

  • Rank
    Участник

Информация

  • Город
    Array

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Addon надо ставить от GD, чтобы правильно регистры показывал IAR или Кейл.
  2. Было такое на GD32F105. Передача идет - приема нет. Вылечилось изменением порядка инициализации. STM при этом работал. После, одна прошивка заработала и на STM и на GD. Тоже самое и с USB было.
  3. Спасибо!!! Хорошая идея. Собственно исходя из маркировки в описании - это как раз и есть SG-8002CA
  4. Приветствую всех! Есть два неисправных устройства. В обоих одно и тоже - отказал генератор. SMD 5x7 мм, 4 вывода, 5 вольт, 7.990 МГц. Нигде не могу найти такой или аналог.
  5. Ох е))))) Не досмотрел ))))
  6. FD.zip Это больше ответ ТС на его вопрос.
  7. Я подключался на живом автомобиле к FD CAN. Там одновременно сосуществуют посылки стандартные и FD. Никто никому не мешает. FD принимает весь трафик, стандартный только стандартные посылки. Друг другу они не мешают. PS. Кому интересно - могу лог скинуть.
  8. В автозапчастях надо спросить (например https://bi-bi.ru/product/e0000962102)
  9. Я бы Вам посоветовал поиграться вначале уже существующими WEB SDR. Например http://websdr.78dx.ru:8901/ 

    С их помощью можно и цифру послушать. Надо только перенаправить аудиопоток в спец программы.

    1. Ruslan1

      Ruslan1

      Огромное спасибо за наводку, даже не подумал про такое! 

      Их реально много! :)

  10. Настройка прерываний void NVIC_Config_CAN(void) { NVIC_InitTypeDef NVIC_InitStructure; NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1); NVIC_InitStructure.NVIC_IRQChannel = CAN1_RX0_IRQn; NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0x0; NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0x0; NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; NVIC_Init(&NVIC_InitStructure); /* Enable FIFO 0 message pending Interrupt */ CAN_ITConfig(CAN1, CAN_IT_FMP0, ENABLE); NVIC_InitStructure.NVIC_IRQChannel = CAN1_RX1_IRQn; NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0x0; NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0x1; NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; NVIC_Init(&NVIC_InitStructure); /* Enable FIFO 1 message pending Interrupt */ CAN_ITConfig(CAN1, CAN_IT_FMP1, ENABLE); NVIC_InitStructure.NVIC_IRQChannel = CAN2_RX0_IRQn; NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0x1; NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0x0; NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; NVIC_Init(&NVIC_InitStructure); /* Enable FIFO 0 message pending Interrupt */ CAN_ITConfig(CAN2, CAN_IT_FMP0, ENABLE); Прием от машины всех ненужных пакетов - передача в приборку void CAN1_RX0_IRQHandler(void) { if (CAN_GetITStatus(CAN1, CAN_IT_FMP0) != RESET) { CAN_Receive(CAN1, CAN_FIFO0, &Can1RxMessage); // Читаем почту Can1TxMessage.StdId = Can1RxMessage.StdId; Can1TxMessage.ExtId = Can1RxMessage.ExtId; Can1TxMessage.RTR = Can1RxMessage.RTR; Can1TxMessage.IDE = Can1RxMessage.IDE; Can1TxMessage.DLC = Can1RxMessage.DLC; Can1TxMessage.Data[0] = Can1RxMessage.Data[0]; Can1TxMessage.Data[1] = Can1RxMessage.Data[1]; Can1TxMessage.Data[2] = Can1RxMessage.Data[2]; Can1TxMessage.Data[3] = Can1RxMessage.Data[3]; Can1TxMessage.Data[4] = Can1RxMessage.Data[4]; Can1TxMessage.Data[5] = Can1RxMessage.Data[5]; Can1TxMessage.Data[6] = Can1RxMessage.Data[6]; Can1TxMessage.Data[7] = Can1RxMessage.Data[7]; CAN_Transmit(CAN2, &Can1TxMessage); InitCan1RxMessage (); } } Прием нужных для изменения ID и отправка в приборку void CAN1_RX1_IRQHandler(void) { if (CAN_GetITStatus(CAN1, CAN_IT_FMP1) != RESET) { CAN_Receive(CAN1, CAN_FIFO1, &Can1Fifo1RxMessage); Can1Fifo1TxMessage.StdId = Can1Fifo1RxMessage.StdId; Can1Fifo1TxMessage.ExtId = Can1Fifo1RxMessage.ExtId; Can1Fifo1TxMessage.RTR = Can1Fifo1RxMessage.RTR; Can1Fifo1TxMessage.IDE = Can1Fifo1RxMessage.IDE; Can1Fifo1TxMessage.DLC = Can1Fifo1RxMessage.DLC; Can1Fifo1TxMessage.Data[0] = Can1Fifo1RxMessage.Data[0]; Can1Fifo1TxMessage.Data[1] = Can1Fifo1RxMessage.Data[1]; Can1Fifo1TxMessage.Data[2] = Can1Fifo1RxMessage.Data[2]; Can1Fifo1TxMessage.Data[3] = Can1Fifo1RxMessage.Data[3]; Can1Fifo1TxMessage.Data[4] = Can1Fifo1RxMessage.Data[4]; Can1Fifo1TxMessage.Data[5] = Can1Fifo1RxMessage.Data[5]; Can1Fifo1TxMessage.Data[6] = Can1Fifo1RxMessage.Data[6]; Can1Fifo1TxMessage.Data[7] = Can1Fifo1RxMessage.Data[7]; Тут все считаем и CRC тоже Can1Fifo1TxMessage.Data[0] = CrcSea; Can1Fifo1TxMessage.Data[1] = CrcBuf[0]; Can1Fifo1TxMessage.Data[2] = CrcBuf[1]; // Фильтруемые байты Can1Fifo1TxMessage.Data[3] = CrcBuf[2]; Can1Fifo1TxMessage.Data[4] = CrcBuf[3]; Can1Fifo1TxMessage.Data[2] = 0x00; // Фильтруемые байты Can1Fifo1TxMessage.Data[3] = 0x00; } } CAN_Transmit(CAN2, &Can1Fifo1TxMessage); InitCan1Fifo1RxMessage (); } } Со стороны приборки - все проще void CAN2_RX0_IRQHandler(void) { if (CAN_GetITStatus(CAN2, CAN_IT_FMP0) != RESET) { CAN_Receive(CAN2, CAN_FIFO0, &Can2RxMessage); // Читаем почту // Can2TxMessage.StdId = Can2RxMessage.StdId; Can2TxMessage.ExtId = Can2RxMessage.ExtId; Can2TxMessage.RTR = Can2RxMessage.RTR; Can2TxMessage.IDE = Can2RxMessage.IDE; Can2TxMessage.DLC = Can2RxMessage.DLC; Can2TxMessage.Data[0] = Can2RxMessage.Data[0]; Can2TxMessage.Data[1] = Can2RxMessage.Data[1]; Can2TxMessage.Data[2] = Can2RxMessage.Data[2]; Can2TxMessage.Data[3] = Can2RxMessage.Data[3]; Can2TxMessage.Data[4] = Can2RxMessage.Data[4]; Can2TxMessage.Data[5] = Can2RxMessage.Data[5]; Can2TxMessage.Data[6] = Can2RxMessage.Data[6]; Can2TxMessage.Data[7] = Can2RxMessage.Data[7]; CAN_Transmit(CAN1, &Can2TxMessage); InitCan2RxMessage (); } }
  11. На HAL удалось только демоверсию сделать. В реальной машине (задача та же BMW G серия) получилось только на SPL. Поток данных от авто к панели значительно выше, чем в обратную сторону, поэтому правильно надо настроить приоритеты. Используйте два буфера FIFO - через один отправляете пакеты не фильтрованные, через второй по маске обрабатываете нужные ID. Не забываем про правильное вычисление контрольных сумм. Могу сказать, что задача эта далеко не такая простая - как кажется на первый взгляд.
  12. Мне кажется maniac имеет ввиду, что программатор прекрасно записывает данные в этот чип. Для этого Vpp должно быть 12 вольт. Но он ничего не говорил про стирание. А для чего подняли этот некропост?
  13. Так а нельзя спросить там где покупаете? Вот один из продавцов кабеля прямо пишет про инструмент : "Для СВЧ кабеля MULTIFLEX 86-04 компания HUBER+SUHNER предлагает широкую гамму соединителей и необходимый для их монтажа инструмент."