Commit Graph

605 Commits

Author SHA1 Message Date
liYangYang e3a09b2791
[STM32][SPI]优化APBx时钟配置代码 (#6698)
* [STM32][SPI]优化APBx时钟配置代码
2022-12-06 12:52:37 -05:00
wdfk-prog db3e261bc4 添加判断当前使用定时器是否可配置为主从定时器模式 2022-12-06 00:07:57 -05:00
少年老王 12ec87d64e 修改串口V2的putc顺序
1.顺序修改回V1,保证每次都是当前数据发送完才跳出
2022-12-06 10:37:35 +08:00
liYony 575fe18ea0 some errors 2022-12-06 10:37:15 +08:00
liYony 7a49f8d920 tim_clock_get 2022-12-06 10:37:15 +08:00
liYony e9ddc36488 tim clk config fix 2022-12-06 10:36:59 +08:00
wdfk-prog aaf1abf25f [fix][stm32]修复输出高电平异常的问题 2022-12-05 20:49:28 -05:00
liYangYang 4bdca93a8d
[RTduino][STM32]为stm32l431-BearPi开发板对接RTduino软件包 (#6688) 2022-12-04 20:28:15 -05:00
wdfk-prog 569e2ae1e8
[CAN]update struct can_filter_item and rt_can_msg (#6556)
* 修改ry命令,已便于自定义保存路径

* modified:   components/utilities/ymodem/ry_sy.c

* 修复从被动错误恢复后发送返回异常

* 修复在自动重传模式下,ACK异常阻塞线程
- 删除TX中断函数else分支。仅当RQCP位 置一才进入该中断
- 添加SCE中断函数中关于ACK_ERR的else判断。自动重传模式下会进入该判断,打断自动重传释放完成量。

* 增加对于CAN1与CAN2的SCE中断和TX中断的公共处理函数

* formatting格式化代码

* update struct can_filter_item and rt_can_msg
1. 对过滤器号和索引号结构体定义中同一名称hdr进行重命名hdr_bank和hdr_index,
以便准确区分.采用宏定义兼容以前变量名.
2. 添加接收标识rxfifo,已指明是哪个RXFIFO.

* 更正42M下的波特率

* 修复接收获取索引号错误

* 添加接收标识

* 更新注释

* 取消CANFD限制

* update struct can_filter_item and rt_can_msg
2022-11-21 21:45:51 -05:00
myshow2258 87be8fdba8 Modified bsp/stm32/libraries/HAL_Drivers/drv_usbd.c
Modified   components/drivers/usb/usbdevice/class/cdc_vcom.c
修复cdc在v1v2的serial框架下接收发送错误的问题.stm32下usbd添加更多的ep_id,以支持复合设备.
2022-11-14 23:47:49 -05:00
Man, Jianting (Meco) a24f527990
[stm32][tim/pwm] 抽出公共代码,防止日后演进出现分歧 (#6575)
* [stm32][tim/pwm] 抽出公共代码,防止日后演进出现分歧

* Update drv_tim.c
2022-11-06 22:58:39 -05:00
myshowtogo a9d8168b4d Modified bsp/stm32/libraries/HAL_Drivers/config/f4/dma_config.h
Modified   bsp/stm32/libraries/HAL_Drivers/drv_usart_v2.c
修复stm32的串口 dma配置
2022-10-30 21:19:31 -04:00
linshire 1fc558e6f8 删除对pwm_config的判断,并初始化channel 为RT_NULL 2022-10-30 13:04:07 -04:00
linshire 315c25883c [bsp] fix the return of the function(drv_pwm_control) in stm32 drv_pwm 2022-10-30 02:17:02 -04:00
linshire 14722a4853 Revert "提交stm32 bsp drv_pwm.c里面的一个小建议 (#6517)"
This reverts commit a4eb5a5399.
2022-10-28 21:07:39 -04:00
100ask-Alen a4eb5a5399
提交stm32 bsp drv_pwm.c里面的一个小建议 (#6517)
在使用stm32的pwm驱动时,发现其初始化channel的时候是根据device->channel这个值去初始化的,device->channel这个值是在pwm_configh.h里面定义设置的,又根据rtt的pwm例程,和常规习惯,应该大多数人会更喜欢设置channel=1/2/3/4,而不是在pwm_configh.h中将channel设置为TIM_CHANNEL_1/2/3/4,因此建议drv_pwm.c做出PR中的修改。

在实际开发中,因pwm_configh.h的示例均是.channel=0,又没有做出解释说明要让.channel=TIM_CHANNEL_1/2/3/4的值,容易误操作导致没有成功输出PWM,这是我在实际开发中遇到的现实问题,因而提出此建议。
2022-10-28 18:38:17 -04:00
linshire e01776ea76 将驱动文件中判断RT_USING_XXX改为BSP_USING_XXX,解决了部分框架层与驱动层的混用 2022-10-27 18:30:08 -04:00
wdfk-prog e59b6c7ab4
FIX: [bsp][stm32]CAN从ACK错误恢复后发送异常 (#6511)
* 修改ry命令,已便于自定义保存路径

* modified:   components/utilities/ymodem/ry_sy.c

* 修复从被动错误恢复后发送返回异常

* 修复在自动重传模式下,ACK异常阻塞线程
- 删除TX中断函数else分支。仅当RQCP位 置一才进入该中断
- 添加SCE中断函数中关于ACK_ERR的else判断。自动重传模式下会进入该判断,打断自动重传释放完成量。

* 增加对于CAN1与CAN2的SCE中断和TX中断的公共处理函数

* formatting格式化代码
2022-10-23 22:37:19 -04:00
ItsGettingWorse 9c6d8d96ce Update drv_usart.c
修复RX DMA 第一包收不到的bug
2022-10-22 15:11:46 -04:00
mingmiaojing 4690ed90f1 [stm32f103-fire-arbitrary] support nandflash K9F1G08U0E && LPM init && partition create && partition read/write 2022-10-20 00:28:52 -04:00
NU-LL b380bdf071 [bsp/stm32] upgrade to rt-thread 5.0 2022-10-20 11:44:34 +08:00
BreederBai 3a9152c5fe
[bsp/stm32] 将spi DMA传输更改为阻塞线程方式 (#6513)
* [bsp/stm32] 将spi DMA传输更改为阻塞线程方式

* Update bsp/stm32/libraries/HAL_Drivers/drv_spi.h

Co-authored-by: Man, Jianting (Meco) <920369182@qq.com>
2022-10-17 15:52:03 -04:00
朱天龙 (Armink) d480690f77 [bsp][stm32] Update the serialv2 driver for CPU Cache. Simplified the DMA receive code. 2022-10-12 14:21:41 +08:00
bzrobotics 560a21207e FIX: [bsp][stm32] pulse_encoder driver did not handle TIM overflow 2022-10-08 22:32:45 -04:00
Meco Man 97c483fe35 [rtduino][readme] change title 2022-09-28 02:11:35 -04:00
Man, Jianting (Meco) c7a9481831
[rtduino] 对接STM32F412 NUCLEO (#6461) 2022-09-25 22:38:35 -04:00
YangZhongQing 1c2d05d545 RTC STM32F1 Enable PWR and BKP clocks in the same time
bsp\stm32\libraries\HAL_Drivers\drv_rtc.c在STM32F10x上有一个“RTC首次上电时BKP时钟没使能”的问题。

STM32F10x要求:
写RTC Domain and RTC registers之前需要__HAL_RCC_BKP_CLK_ENABLE(详见:stm32f1xx_hal_rtc.c里面的##### Backup Domain Access #####)

问题分析:
1、RTC首次上电时:由于HAL_RTC_Init初始化之前没有使能BKP时钟,所以对RTC registers的初始化无效。
2、然后用date命令设置时间,调用到set_rtc_time_stamp也没有__HAL_RCC_BKP_CLK_ENABLE,所以HAL_RTCEx_BKUPWrite写的值无法真正永存于BKP,重启后就丢失。
最终导致:对于RTC首次上电的情况,每次重启后RTC_BKP_DR1里的值都不是BKUP_REG_DATA,导致永远无法调用到rt_rtc_f1_bkp_update()去使能BKP时钟。

解决办法:
参考STM32F10x_StdPeriph_Lib_V3.5.0\Project\STM32F10x_StdPeriph_Examples\RTC\Calendar\main.c里面的RTC_Configuration()同时打开RCC_APB1Periph_PWR和RCC_APB1Periph_BKP
2022-09-23 21:04:35 -04:00
BreederBai 61e1e31ca9
[bsp/stm32] 简化drv_usart中的DMA接收逻辑 (#6357) 2022-09-22 14:13:57 +08:00
myshowtogo 4637eb16dc Modified bsp/stm32/libraries/HAL_Drivers/drv_can.c
修复字符串比较错误
2022-09-16 08:36:48 -04:00
liYangYang d25bf469fa
[rt_drv_pwm]完善PWM框架互补输出部分代码 (#6338)
* [pwm]Improve the code

* 将与bsp无关的代码移植到框架部分

* 添加注释
2022-09-01 00:59:44 -04:00
winfenggao ae66e67dee bug:
UART_FLAG_TC 不能在中断里CLEAR;
因为函数 static int stm32_putc(struct rt_serial_device *serial, char c)里发送完成后
while 循环等这个标志退出,中断服务函数CLEAR后,此处进入死循环
2022-08-25 10:25:34 -04:00
Meco Man 4537d06afb [stm32] add missing void 2022-08-14 21:49:43 -04:00
Fan Yang 666af5e29d
[DeviceDriver] Add CANFD support and correct typos (#5912)
* Add CANFD support and correct typos

- Added CANFD required fields to can.h
- Fixed typos in can.h and can.c
- Corrected all the projects affected by the typo
- Fixed wrong line-ending in some affected can driver files

Signed-off-by: Fan YANG <fan.yang@hpmicro.com>

* update

Signed-off-by: Fan YANG <fan.yang@hpmicro.com>
Co-authored-by: Meco Man <920369182@qq.com>
2022-08-13 22:59:28 -04:00
Meco Man 76885ca908 [stm32][drv_serial] 修复recv_len意外为负(即很大正数)的问题
https://github.com/RT-Thread/rt-thread/issues/6106
https://github.com/RT-Thread/rt-thread/issues/4467#issuecomment-850814143
2022-08-04 22:51:34 -04:00
Meco Man 067315ff40 [phy] fix the PHY_FULL_DUPLEX conflicts 2022-08-03 22:45:27 -04:00
dongly 3363586cbb
Fix some compilation warning (#5744)
* Fix some compilation warning

* 补充修正一些数据类型的使用错误

Co-authored-by: Meco Man <920369182@qq.com>
2022-08-02 12:09:49 -04:00
Meng 9673f060f1
[bsp][stm32] 更新f407-robomaster-c板的bsp, 添加stm32定时器8 pwm默认配置 (#6201)
* [bsp][stm32] f407-robomaster-c板, 添加stm32定时器8pwm默认配置

* tab -> space

* 取消DFS选定

Co-authored-by: Meco Man <920369182@qq.com>
2022-08-01 00:21:41 -04:00
liYang~ 32ed7dcfd2
修复了pwm互补输出的一些bug,并在finsh中添加使用说明 (#6191)
* Fix the bug of complementary output
2022-07-26 10:07:07 +08:00
Meco Man 74a802b445 [stm32] 合并获取定时器时钟频率公共部分
防止后续维护出现没有全面修改的问题
2022-07-04 16:23:21 +08:00
BreederBai b2bc0dcd16
[rt_drv_pwm]增加API:增加单独设置PWM频率和脉宽的函数 (#6130)
* [rt_drv_pwm]增加API:增加单独设置PWM频率和脉宽的函数
2022-07-04 10:40:42 +08:00
BreederBai 78faea4b8d
[bsp/stm32]优化功能(drv_pwm):设置PWM频率和脉宽时不破坏上一个PWM周期 (#6129)
* [bsp/stm32]优化功能(drv_pwm):设置PWM频率和脉宽时不破坏上一个PWM周期
2022-07-04 10:26:33 +08:00
张世争 c8a73411f6 [BSP][STM32] RTC Alarm驱动适配 2022-07-04 09:39:12 +08:00
solar_li a50018c57e
[stm32][soft spi] implement soft spi (#6078)
* [stm32][soft spi] implement soft spi
2022-06-16 10:54:30 +08:00
breederbai 14cd8d0145 [bsp][stm32]:修复UART6 DMA分配有可能冲突的BUG
用户自己可以添加DMA分配文件,所以这里的DMA分配有可能和用户自定义的冲突
2022-06-14 17:00:11 +08:00
Meco Man b0030704d0 [stm32][hwtimer] add H7 support 2022-06-14 16:11:05 +08:00
100ask-Alen 3d06d96f65
[bsp][stm32][drv_adc.c]: change the bsp name of 100ask to be consistent with other bsp and commit a bug for drv_adc,c (#6068)
* [bsp][stm32][drv_adc.c]: change the bsp name of 100ask to be consistent with other bsp and commit a bug for drv_adc,c (#6068)
2022-06-14 14:17:22 +08:00
breederbai 21003c74ea [bsp][stm32] 增加uart7和uart8的DMA配置 2022-06-08 11:57:23 +08:00
Man, Jianting (Meco) b197b503c6
[stm32] move CMSIS hearder files to common folder (#5998)
* [stm32] move CMSIS hearder files to common folder

* add CMSIS new sconscript
2022-06-04 17:05:37 +08:00
xfwangqiang e8d775f888
[componnets][pin]add pin operate command in MSH (#5892)
* 1. 在AT32的BSP的drv_gpio中增加了at32_pin_get函数,用于实现rt_pin_ops对象中的pin_get
2. 在MSH中增加了PIN的操作命令
3. 为了方便在MSH命令中解析字符串,增加了一些字符串相关的函数
2022-05-30 18:00:26 +08:00
Stanley Lwin 04a17d469a
[device][adc] implement adc_get_vref (#5988)
* add adc_get_vref

add stm32_adc_get_vref
2022-05-29 10:22:33 +08:00
cha331 9d5302d7fb
[STM32][RTC] add support for STM32L0 series. (#5994)
* [STM32][RTC] add support for STM32L0 series.

* Update drv_rtc.c
2022-05-28 10:02:01 +08:00
Meco Man 996add96d6 [stm32][dac] add comment 2022-05-25 10:04:33 +08:00
Meco Man 8a7b9da76d [stm32 nucleo][f072][f401] support TIM7/TIM11 hardware timer 2022-05-10 13:55:16 +08:00
Man, Jianting (Meco) 0d2b96d7cc
[stm32][l4] add tim7 support | 设备框架以及驱动错误码处理逻辑存在问题 (#5901) 2022-05-09 22:59:27 +08:00
Wu Han 4171fcbb06 [bsp][stm32][drv_crypto] Enable RNG Clock 2022-05-09 11:13:01 +08:00
Meco Man 73236a825c [stm32][spi] remove hardware NSS 2022-05-09 09:57:22 +08:00
breederbai 429e1cafe6 修复BUG:串口启用DMA接收后,动态修改串口波特率扰乱接收检索
在串口不关闭的情况下,更改波特率后,清空上次数据检索,导致更新写入检索错误,
串口无法读出正确的数据。真实数据的位置和检索值之间总有一定的距离,导致读取
数据的时候会有一定的延时。缓冲区大,延时越长
2022-04-27 21:59:06 +08:00
breederbai 326abec0e7 修复BUG:SDIO和UART6(TX)的DMA通道分配冲突 2022-04-27 21:54:28 +08:00
blta d52ad69d6f
[BSP] judge the SPI instances before operating (#5874) 2022-04-26 13:26:28 +08:00
Meco Man 175ca2ee09 [dac] add get resolution method 2022-04-23 23:03:59 +08:00
Man, Jianting (Meco) c2a0995545
[adc] 支持adc框架获取BSP的ADC分辨率 (#5853) 2022-04-22 22:26:41 +08:00
Man, Jianting (Meco) 7b47e8d052
[stm32f401-nucleo] arduino support (#5842)
* [stm32f401-nucleo] arduino support
* 增加application arduino main文件
* 调整目录结构
2022-04-20 09:09:58 +08:00
Meco Man 991b6e78b3 [bug] 修正rtc对时间参数范围的处理 | fix a bug of rtc 2022-04-19 11:48:59 +08:00
Miaowulue 5e7badd34c [bsp/stm32] update ov5640 configuration of openmv 2022-04-15 10:34:38 +08:00
zuozuojia ecb69f56ac Update drv_can.c
删除多余注释,另外确定了对于其他型号单片机的适应性
2022-04-14 11:50:22 +08:00
zuozuojia ff36a39d32 [bsp/stm32] fix the bug of can filter conflict 2022-04-14 11:50:22 +08:00
blta 35e266cb2e [bsp/stm32] select the input clk of spi based on SPI instances 2022-04-11 17:33:02 +08:00
zuozuojia ba1b8b4bfa delete the code be commented out 2022-04-11 15:02:12 +08:00
zuozuojia 04971a96fe [bsp/stm32] fix the bug of uart that not define pwm10 and pwm11 2022-04-11 15:02:12 +08:00
zuozuojia a282faf26c [bsp/stm32] fix the bug of 'can' being stucked when short cricuit the canH and canL, change some wrong annotations 2022-04-11 15:02:12 +08:00
zuozuojia 10b71175eb [stm32F4] adapt 168M frequency of 1M can baud, remember to add the define of BSP_USING_CAN168M in kconfig while using 168M frequency 2022-04-11 15:02:12 +08:00
朱天龙 (Armink) 039efbb075
完善 Serial V2 框架 (#5770)
* [stm32] fix h7 uart V2 driver unused code.

* [DeviceDriver][serialv2] fix the serialv2 when using for console device on DMA mode.

* [stm32][art-pi] using serial v2 by default

* [DeviceDriver][SerialV2] Add termios for serial@V2 .

* [BSP][STM32] Add hardware flow control for STM32 serial@V2 driver.

* [DeviceDriver][Serial@V2] Add hardware flow control for serial V2.
2022-04-04 17:25:04 +08:00
朱天龙 (Armink) bae1be0f45
完善串口 V2 框架 (#5720)
* [stm32] fix h7 uart V2 driver unused code.
* [DeviceDriver][serialv2] fix the serialv2 when using for console device on DMA mode.
* [stm32][art-pi] using serial v2 by default
2022-03-27 00:52:41 +08:00
Man, Jianting (Meco) ba6f78bd8e
format code (#5699) 2022-03-24 08:30:41 +08:00
cha331 96b4974ea2
[stm32][driver_crypto]修复CRC自定义设置不生效的bug (#5655)
* [stm32][drivers]修复CRC自定义设置不生效的bug

* update format
2022-03-23 14:17:10 +08:00
Man, Jianting (Meco) 81e5fa061f
[stm32f072 nucleo] support pwm for arduino (#5693) 2022-03-21 22:04:37 +08:00
Man, Jianting (Meco) 8b58577230
[ulog][rtc][time][bug] solve the interference when enable the ulog timestamp (#5687)
* [ulog] 解决ulog开启时间戳后与libc time以及rtc驱动相关函数干涉的问题
* ulog:当发生递归输出时,后续递归想要输出的内容可能会因为防范递归的判断而无法输出
因此修改输出规则,在发生递归时,采用简单的,无格式的方式直接输出。这样既保证不会发生递归输出,也可以保证递归输出的部分可以正常输出。
* [ulog] size_t->rt_size_t NULL->RT_NULL
2022-03-21 14:06:17 +08:00
Man, Jianting (Meco) 9ee5940f25
[arduino][stm32l475 pandora] fullly support analog output(PWM) and analog input(ADC) (#5690) 2022-03-20 15:46:33 +08:00
LiuKang 75a7cb6929
[update] add fal component. (#5662)
* [update] add fal component.

* [update] format code.

* [update] change PKG_USING_FAL to RT_USING_FAL

* [update] format code.

* [update] fal

* [update] delete FAL_SW_VERSION
2022-03-15 09:48:05 +08:00
Yang sheng 542195559b
[bsp][stm32] Add support with pwm6 to pwm13 (#5620) 2022-03-07 01:20:05 +08:00
LeeChunHei c06b57670f
修改bsp的usb host 驅動 (#4379)
* add arg for rt_usb_host_init call
2022-01-26 10:46:57 +08:00
diskwu 03f46c6694
避免警告,变量可能未初始化就使用 (#5544)
* 避免警告,变量可能未初始化就使用

* 避免警告,变量可能未初始化就使用

* 避免警告,变化可能未初始化就使用。

* Update bsp/stm32/libraries/HAL_Drivers/drv_usart.c

Co-authored-by: guo <guozhanxin@rt-thread.com>

* Update bsp/stm32/libraries/HAL_Drivers/drv_usart_v2.c

Co-authored-by: guo <guozhanxin@rt-thread.com>

Co-authored-by: guo <guozhanxin@rt-thread.com>
2022-01-21 11:06:37 +08:00
Meco Man eef0a2d810 [qmeu] chore 2022-01-16 18:54:24 +08:00
Rbb666 eaf54ca571 Refresh using dma2d,screen refresh average 25fps 2022-01-13 10:18:33 +08:00
Bernard Xiong 3b007a7bbc
Merge pull request #5359 from qingehao/h7_spi
完善了STM32H7系列SPI使用DMA的驱动
2021-12-14 06:11:22 +08:00
Meco Man 05d15b1162 [stm32][drv_common] add LOW_E for Error_Handler 2021-12-12 23:45:29 -05:00
iysheng b6d90dffcf [bsp][stm32] Modify variable name p_tm to tm 2021-12-10 16:25:40 +08:00
qinge 18da37aacc 修改格式,调整对齐 2021-12-10 15:57:20 +08:00
qinge 81b84ab166 完善了STM32H7系列SPI使用DMA的驱动
1.使能DMA时钟的条件编译中加入了STM32H7
2.添加STM32H7 "spi_config" 中的request字段
3.DMA初始化FiFo相关的初始化的条件编译选项中加入STM32H7
2021-12-10 15:30:30 +08:00
rtthread-bot 9bbb74affc Merge remote-tracking branch 'rtt_gitee/gitee_master' 2021-12-08 06:12:14 +00:00
qinge f89625acb6 修复stm32l4系列flash在下载完程序后首次擦除会失败的问题 2021-11-23 17:33:56 +08:00
Bernard Xiong 9bbcd1a8b0
Merge pull request #5284 from mysterywolf/mutex
[mutex] use RT_IPC_FLAG_PRIO to replace RT_IPC_FLAG_FIFO
2021-11-19 16:50:34 +08:00
guo a087a1b0fc
Merge pull request #5280 from liukangcc/u575
[update] add stm32u575-st-nucleo bsp.
2021-11-18 22:43:00 +08:00
Meco Man df9a23c534 [mutex] use RT_IPC_FLAG_PRIO to replace RT_IPC_FLAG_FIFO 2021-11-17 15:57:15 -05:00
qingehao 0a123c307e
Merge branch 'RT-Thread:master' into master 2021-11-16 17:39:35 +08:00
liukangcc 5be4d1cc8d [update] ignore_format.yml 2021-11-15 15:31:51 +08:00
tfx2001 0fc5091fd3 [bsp][stm32] move drv_tinyusb.c to tfx2001/tinyusb 2021-11-15 12:54:02 +08:00
liukangcc 1f9eb78d0e [update] add stm32u575-st-nucleo bsp. 2021-11-15 11:23:12 +08:00
qinge e1c281c95d STM32H7系列无需DMA_CHANNEL_X 2021-11-11 19:05:24 +08:00
Bernard Xiong fdbaa2a808
Merge pull request #5250 from liukangcc/l552ze
[add] bsp stm32l552ze-nucleo
2021-11-10 09:13:44 +08:00