Skip to main content
S.Ma
Principal
January 20, 2023
Question

STM32C0316-DK-Brisk-Demo STM32 Git Hot Spot

This post is a constructive feedback channel for the STM32C0316-DK Brisk demo project.

Implemented Application Functions:

  • Alternative IO Drivers which can coexist with HAL's
  • STM32 Vdd and Temperature monitoring
  • Analog Keyboard (ADC, Debouncing)
  • LEDs (pulsing, dimming)
  • I2C Master by bit-banging (many slaves supported)
  • SPI Master by bit-banging
  • Android Bluetooth Electronics Support (UART + Dashboards)
  • Multiple companion chips support (may require add-on boards)
This topic has been closed for replies.

2 replies

S.Ma
S.MaAuthor
Principal
January 29, 2023
S.Ma
S.MaAuthor
Principal
March 24, 2023

One pending bugfix (minor)

Location :

io_driver.c

Function:

int32_t IO_PadInit(IO_Pad_t* pIO ) { // this is for a single pin

 /* Configure the IO Output Type */ 
 if(pIO->Config.Pull) {
 
 bfmask = ~(0x3<<(pad_position * 2));
 bfval = (pIO->Config.Pull-1) << (pad_position * 2);
 __set_PRIMASK(1);// atomic start
 tmp = (GPIOx->PUPDR & bfmask) | bfval; // was bugged with OTYPER
 GPIOx->PUPDR = tmp;
 __set_PRIMASK(primask); // atomic end
 }

Found while bringing up a STM32H5 board with I2C bitbang bus without external pull-up installed and I2C slave address sweep.