2023-01-20 02:25 AM
This post is a constructive feedback channel for the STM32C0316-DK Brisk demo project.
Implemented Application Functions:
2023-01-29 01:27 AM
2023-03-23 10:31 PM
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.