uint8_t GPIO_ReadOutputDataBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin); uint16_t GPIO_ReadOutputData(GPIO_TypeDef* GPIOx); void GPIO_SetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin); void GPIO_ResetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin); void GPIO_WriteBit(GPIO_TypeDef* G...
HAL_GPIO_ReadPin(GPIOA , GPIO_PIN_2) ; /*** @brief Reads the specified input port pin.* @param GPIOx: where x can be (A..G depending on device used) to select the GPIO peripheral* @param GPIO_Pin: specifies the port bit to read.* This parameter can be GPIO_PIN_x where x c...
这里可以从标准库的h文件查看,如下,点开标准库命名后缀为rcc的c文件,然后找到RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOX,ENABLE),这个函数,你在keil5上输入这个函数,一般keil5上面你输入一段代码后,会进行自动提示,如果没有可以点击ctrl+alt+空格进行操作,然后右键点击...
主要库函数调用: #define sda_in() {GPIOB->MODER&=~(3<<(9*2));GPIOB->MODER|=0<<9*2;}#define sda_out() {GPIOB->MODER&=~(3<<(9*2));GPIOB->MODER|=1<<9*2;}#define iic_sda_out(x) PBout(9)=x#define iic_scl_out(x) PBout(8)=x#define iix_read_sda() PBin(9) 代...
相同系列的内核一般相同,如F1系列都采用Cortex-M3内核开发,但根据Flash大小不同可将STM32分成小容量产品(<64K)、中等容量产品(介于64K-128K)、大容量产品3个部分,各部分容量产品在使用标准库SPL开发时需要使用不同的启动文件并在预编译处做好修改,其具体信息如下图所示: ...
(GPIOA, GPIO_Pin_4, (BitAction)BitValue); //根据BitValue,设置SS引脚的电平 } /** * 函 数:SPI写SCK引脚电平 * 参 数:BitValue 协议层传入的当前需要写入SCK的电平,范围0~1 * 返回值:无 * 注意事项:此函数需要用户实现内容,当BitValue为0时,需要置SCK为低电平,当BitValue为1时,需要置SCK为高...
使用HAL库 软件:stm32cubemx stm32cubeide 后续会更新标准库的移植。以及rtos下的移植(尽量) 下载freemodbus1.6 这个获取方法网上到处都是,不细说了。 cubemx新建工程 新建工程只列出了与移植freemodbus相关的设置 这里我使用的是485通信,所以额外使能了一个引脚 ...
uint32_t SDO_PIN; GPIO_TypeDef*GPIO_GROUP; uint32_t RCC_APB1Periph; uint32_t RCC_APB2Periph; uint8_t*pData;//tx and rx bufferuint8_t Pos; }I2C_Dev_t;externvoidI2C1_Init(void);externboolI2C1_Read(uint8_t addr,uint8_t *pData,uint8_t len);externboolI2C1_Write(uint8_t ad...
GPIO_PinSource:指需配置的复用功能引脚源,可选范围GPIO_PinSource0~GPIO_PinSource15。 GPIO_AF:指该引脚具体需要配置的功能,具体配置功能要看实际应用需求,例如需要配置成SPI1功能的引脚,那么就选GPIO_AF_SPI1。 2、函数接口 下面就对具体的函数接口进行逐个的介绍。由于使用的是STM32的标准库,GPIO 相关的函数...
例如HAL库的STMFLASH_ReadHalfWord,标准库常用的readEEPROM 代码语言:javascript 复制 //读取指定地址的半字数据。u16STMFLASH_ReadHalfWord(u32 faddr){return*(vu16*)faddr;}voidSTMFLASH_Read(u32 ReadAddr,u16*pBuffer,u16 NumToRead){u16 i;for(i=0;i<NumToRead;i++){pBuffer[i]=STMFLASH_ReadHalf...