Questions tagged «hal-library»

1
使用I2C STM32F0 HAL库寻址寄存器
我对使用STM的CUBE和HAL_libraries非常陌生。我正在使用具有32个引脚的STM32F0微控制器。I2C的原理图是正确的。所以在这里我需要一点帮助。 我有一个使用I2C通信的电容传感器(FDC1004)。我必须写这些寄存器才能读取数据。 我该如何正确地将START请求表的主机发送给从机(从机地址为A0)? 如何设置指向0x0C寄存器的指针? 数据表中看到(寄存器0x0C:bit [7:4])为1。)我不知道,该怎么做?最后如何从同一寄存器读取? 另外,在阅读之前,我必须等待DONE_x字段(寄存器0x0C:bits [3:0])吗? 但是我不知道我是否在寻找正确的寄存器!因为我没有从传感器获得任何数据! 这是我的代码: int I2Ccomm () { HAL_I2C_Master_Transmit(&hi2c1,0xA1,0x0C, 10, 100); //start bit and pointer to register HAL_Delay(50); HAL_I2C_Master_Transmit(&hi2c1,0xA1,0x054, 10, 100); // setting the register HAL_Delay(50); HAL_I2C_Master_Receive(&hi2c1, 0xA0, 0x0C, 10, 100); //read from this register HAL_Delay(50); HAL_I2C_Master_Receive(&hi2c1, 0xA0, 0x02, 10, 100); //read data from …

3
Eclipse + GNU ARM + STM32-HAL或SPL
我将开始进行ARM开发(经过2年的AVR),并选择了带有stm32f4微处理器的STM DISCOVERY板。 我决定使用eclipse + ARM gcc,因为我不喜欢Keil上的代码限制,而且我没有钱来获得付费版本。 按照教程,我已经将eclipse与gcc ARM工具+ openocd + make utils一起安装了。 我的问题是关于“包装”插件的。像每个初学者一样,对于使用新的STM HAL还是旧的SPL感到困惑。 我的理解是HAL已经将抽象实现到了可以称为arm的Arduino等效级别。另一方面,SPL提供了足够的抽象来提高编码速度,但是您仍然需要处理芯片级的问题。 有了这种了解,我想坚持使用SPL来更好地理解事物,而不是使用HAL。 我想知道的是,是否为STM使用软件包会隐式迫使我使用HAL?如果是这样,有人可以指出我如何在我的设置中使用SPL吗?
10 arm  stm32  gcc  cortex  hal-library 

4
使用HAL的STM32 ADC转换
我正在尝试学习如何从stm32使用“新” HAL库。 当我尝试进行简单的ADC转换时,它只能运行一次,但随后会停止转换。我想转换结束标志未设置。我正在使用STM32f429I发现板,板上有STM32f429ZI。 请注意,我知道sprintf是一种不好的做法,并且使带有中断的adc更好,我知道,请不要指出这一点,这与问题无关,我只是在这里测试HAL。 所以问题是为什么未设置EOC标志,或者我应该怎么做才能使其正常工作?谷歌搜索没有太大帮助,因为那里关于HAL的好材料很少。 这是代码: __IO uint16_t ADCValue=0; void HAL_ADC_ConvCpltCallback(ADC_HandleTypeDef* hadc); int main(void) { char str[15]; /* Various initializations */ HAL_ADC_Start(&hadc1); while (1) { if (HAL_ADC_PollForConversion(&hadc1, 1000000) == HAL_OK) { ADCValue = HAL_ADC_GetValue(&hadc1); sprintf(str, "%d", ADCValue); BSP_LCD_DisplayStringAt(130,30, (uint8_t*)str, LEFT_MODE); } } void HAL_ADC_ConvCpltCallback(ADC_HandleTypeDef* hadc) { ADCValue = HAL_ADC_GetValue(&hadc1); } …
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.