Перейти к содержанию
    

golf2109

Участник
  • Постов

    80
  • Зарегистрирован

  • Посещение

Весь контент golf2109


  1. для 20-ногих проблему решал так https://arm-stm.blogspot.com/2016/04/stm32f...oblem-user.html
  2. а при чем тут толщина кабеля???
  3. я бы использовал DMA ** * @brief Transmit in slave mode an amount of data in non-blocking mode with DMA * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains * the configuration information for the specified I2C. * @param pData Pointer to data buffer * @param Size Amount of data to be sent * @retval HAL status */ HAL_StatusTypeDef HAL_I2C_Slave_Transmit_DMA(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t Size)
  4. вот кстати как его перепрограммировать https://arm-stm.blogspot.com/2016/04/stm32f...oblem-user.html
  5. I2C STM32L4

    эхо может быть в виде бита или в виде байта
  6. Проблема с CAN.

    лучше тем, что в CubeMX для конфигурации временных параметров CAN bus применяетмя некое подобие калькулятора и при выборе параметров CAN трудно ошибиться даже если много опыта и большое желание почитать документацию, то сделать например ремап пинов и инициализацию для случая CAN bus например для STM32F042F4 получится с помощью CubeMX намного быстрее и проще... хотя, если есть желание набраться опыта и почитать докумантацию, а самое главное есть начальство оплачивающее !!! самообразование разработчика в рабочее время, когда проект должен быть сделан "на вчера"....
  7. Проблема с CAN.

    для установки CAN timing лучше использовать CubeMX или программки вроде CAN-калькуляторов
  8. V2 гараздо лучше V1 я вот когда-то переделывал специально VLDiscovery http://arm-stm.blogspot.com/2014/04/stm32v...-stm32f103.html
  9. ну и что показал анализ причин отказов?
  10. Я инициализировал так в рабочем проекте и работало неплохо везде, (начиная с макетки) с кварцами 6 пФ и 12 пФ правда сама точность часов (например уход за сутки) Вас очень огорчит, но не расстраивайтесь, попробуйте откалибровать RTC, а для утешения посмотрите на точность хода часов на Вашем компе (выключив синхронизацию с интернетом) ]int RtcInit (void) { //разрешить тактирование модулей управления питанием и управлением //резервной областью - enable APB1 clocks RCC->APB1ENR |= RCC_APB1ENR_PWREN | RCC_APB1ENR_BKPEN; // disable backup domain write protection //разрешить доступ к области резарвных данных PWR->CR |= PWR_CR_DBP; //если часы выключены - инициализировать их //Bit 15 RTCEN: RTC clock enable //Set and cleared by software. //0: RTC clock disabled //1: RTC clock enabled if ((RCC->BDCR & RCC_BDCR_RTCEN) != RCC_BDCR_RTCEN) { //выполнить сброс области резервных данных // reset Backup Domain //Bit 16 BDRST: Backup domain software reset //Set and cleared by software. //0: Reset not activated //1: Resets the entire Backup domain RCC->BDCR |= RCC_BDCR_BDRST; RCC->BDCR &= ~RCC_BDCR_BDRST; //выбрать источником тактовых импульсов внешний кварц 32768 и подать тактирование //Bit 15 RTCEN: RTC clock enable //Set and cleared by software. //0: RTC clock disabled //1: RTC clock enabled //Bits 9:8 RTCSEL[1:0]: RTC clock source selection //Set by software to select the clock source for the RTC. Once the RTC clock source has been selected, // it cannot be changed anymore unless the Backup domain is reset. The BDRST bit can be used to reset them. //00: No clock //01: LSE oscillator clock used as RTC clock10: LSI oscillator clock used as RTC clock //11: HSE oscillator clock divided by 128 used as RTC clock RCC->BDCR |= RCC_BDCR_RTCEN | RCC_BDCR_RTCSEL_LSE; //установка маски разрешения секундных прерываний //Bit 0 SECIE: Second interrupt enable //0: Second interrupt is masked. //1: Second interrupt is enabled. RTC->CRH |= RTC_CRH_SECIE; ///!!!!!!!!!!!!SECOND INTERRUPT ENABLE //Bit 4 CNF: Configuration flag //This bit must be set by software to enter in configuration mode so as to allow new values to //be written in the RTC_CNT, RTC_ALR or RTC_PRL registers. The write operation is only //executed when the CNF bit is reset by software after has been set. //0: Exit configuration mode (start update of RTC registers). //1: Enter configuration mode. RTC->CRL |= RTC_CRL_CNF; //If the input clock frequency (fRTCCLK) is 32.768 kHz, write 7FFFh in this register to get a //signal period of 1 second. RTC->PRLH = 0; RTC->PRLL = 0x8000; //тактирование от внешнего кварца AFIO->EVCR =0xAD; //PC13-calibration clock output enable BKP->RTCCR |= BKP_RTCCR_CCO; //Setting this bit outputs the //RTC clock with a frequency divided by 64 on the TAMPER pin BKP->RTCCR |= BKP_RTCCR_ASOS | BKP_RTCCR_ASOE; //0: Exit configuration mode (start update of RTC registers). RTC->CRL &= ~RTC_CRL_CNF; //установить бит разрешения работы и дождаться установки бита готовности RCC->BDCR |= RCC_BDCR_LSEON; while ((RCC->BDCR & RCC_BDCR_LSEON) != RCC_BDCR_LSEON){} //while ((RCC->BDCR & RCC_BDCR_LSERDY) != RCC_BDCR_LSERDY); //вариант //Bit 3 RSF: Registers synchronized flag //This bit is set by hardware at each time the RTC_CNT and RTC_DIV registers are updated //and cleared by software. Before any read operation after an APB1 reset or an APB1 clock //stop, this bit must be cleared by software, and the user application must wait until it is set to //be sure that the RTC_CNT, RTC_ALR or RTC_PRL registers are synchronized. //0: Registers not yet synchronized. //1: Registers synchronized. RTC->CRL &= (uint16_t)~RTC_CRL_RSF; while((RTC->CRL & RTC_CRL_RSF) != RTC_CRL_RSF){} return 0; } return 1; } тут еще есть RTC Init
  11. STM32 + RTC & BACKUP

    CL(Load Capacitance) - это и есть собственная емкость кварца look at Table 7. Recommended crystal resonators for LSE oscillator embedded in STM32 microcontrollers кстати табличка 7 в данной доке обновилась по сравнению с старыми версиями - в старых вообще кварцев с CL > 7 пФ не было, да и footprint описан намного подробнее
  12. STM32 + RTC & BACKUP

    самое главное в часах от ST, то что в даташитах от ST пишут, что часовой кварц должен иметь собственную емкость 6 пФ (тогда они гарантируют устойчивую генерацию), а большинство кварцев, в том числе и те которые сам SM ставит на Дискавери с емкостью 12 пФ. Исхитрившись и достав кварцы на 6 пФ убедился, что ST таки не зря настаивает на 6 пФ. Ганерация с 6 пФ беспроблемная. А для 12 пФ даже остатки флюса приводят к срыву генерации или вообще к ее отсутствию.
  13. Проблема с I2C STM32

    попробуйте настроить регистры GPIO в самомначале, до этого I2C1->CR2 |= 36;//36 MHz входит в модуль I2C и не совсем понятно зачем сначала сбрасывать, а затем устанавливать биты GPIOB->CRL &=~(GPIO_CRL_MODE6|GPIO_CRL_MODE7|GPIO_CRL_CNF6|GPIO_CRL_CNF7); GPIOB->CRL |= (GPIO_CRL_MODE6|GPIO_CRL_MODE7|GPIO_CRL_CNF6|GPIO_CRL_CNF7);
  14. вот ссылки dma-to-usart uart-dma-out dma-uart-in-out
  15. Отладка STM32F042

    заказчик не захотел менять плату пришлось проблему решить более кардинально с помощью ST_LINK Utility установить бит nBOOT0 и сбросить BOTT_SEL вот тут описал http://arm-stm.blogspot.com/2016/04/stm32f...oblem-user.html
  16. Отладка STM32F042

    Если так интересно, то сконфигурирована была в CubeMX, а PB8 (а не PA8) при том, что в момент старта эта нога выполняет функции входа BOOT0
  17. Отладка STM32F042

    проблема была в том, что PB8/BOOT0 сконфигурирована как CAN_RX, после ремапа в РА11 и pull-down PB8 проблема решилась спасибо x893 за совет
  18. Отладка STM32F042

    BOOT сигнал наружу не выведен, т.к. корпус 20-ти ногий, а в настройках, по умолчанию стартует с Main ROM
  19. Отладка STM32F042

    Проблеме при запуске отладчика Кейла для STM32F042 (Run to main() в настройках отладчика отключен) -пример нормального запуска примера из STM32F0xx_StdPeriph_Lib_V1.5.0\Projects\STM32F0xx_StdPeriph_Examples для STM32F030 а вот то же самое для STM32F042 как заставить стартовать F042 с 0ч080000000?
  20. TI CC2650 ZigBee

    в настройках проекта вместо EndDevice выбрать Coordinator
  21. STM32F103CBT и I2C2

    Я бы прежде всего зашел бы в отладчик и посмотрел на каком этапе инициализации появляется генерация
  22. если без ремапа в GPIO не дергается, то скорей всего подгорело
  23. 1- например - количество частиц (примерное) размером 1-10 микрон, 10- 100 микрон, 100-1000 микрон 2- микрочастица - все что угодно (грязь любая) 3- например дизтопливо (диэлектрик) для смягчения безысходности необходимо можно заменить на "надо"
  24. Необходимо оценить (измерить) в жидкости количественный состав микрочастиц (как диэлектрических так и проводящих).
×
×
  • Создать...