- 博客(158)
- 资源 (3)
- 收藏
- 关注
原创 DSP介绍及CCS
TI公司研发的一款经典DSP。TMS320F283xx系列产品都基于28355拓展。TMS320C28346是高主频。TMS320F28377是双核。结构上都与F28335内部结构类似。
2023-11-21 22:51:22
870
原创 STM32F407的系统定时器
Systick 是一个递减的定时器,当定时器递减至0 时,重载寄存器中的值就会被重装载,继续开始递减。9*nus :假设外设频率为 9M,也就是经过 8 分频,那么计数 9 次是 1us,乘以 9 的意义就是参数的时间对应的次数,也就是重装载值。24 位的寄存器,读取时返回当前倒计数的值,写它则使之清零,同时还会清除在 SysTick 控制及状态寄存器中的 COUNTFLAG 标志。系统时钟是72/8M,计数一次时间1/9000000秒,换算成us就是1/9us,则计数72/8次也就是9次就是1us。
2023-10-30 20:32:42
1223
原创 STM32F103的GPIO
因为 GPIO 都是挂载在 APB2 总线之上,所以它的基地址是由 APB2 总线的基地址+GPIOA 在 APB2 总线上的偏移地址决定的。GPIOA 的 7 个寄存器都是 32 位的,所以每个寄存器占有 4个地址,一共占用 28 个地址,地址偏移范围为(000h~01Bh)。GPIOA 的各个寄存器对于 GPIOA 基地址的偏移地址,所以我们自然可以算出来每个寄存器的地址。GPIOA 的寄存器的地址=GPIOA 基地址+寄存器相对 GPIOA 基地址的偏移值。那就是结构体存储的成员他们的地址是连续的。
2023-10-29 21:43:20
271
原创 STM32F103的中断
STM32 将中断分为 5 个组,组 0~4。CM3中每个中断通道都具备自己的8位中断优先级控制字节, 但STM32 并没有使用 CM3 内核的全部东西,STM32F103中只使用4位,高4位有效。例如组设置为 3,那么此时所有的 60 个中断,每个中断的中断优先寄存器的高四位中的最高 3 位是抢占优先级,低 1 位是响应优先级。STM32 有 84 个中断,包括 16 个内核中断和 68 个可屏蔽中断,具有 16 级可编程的中断优先级。具体表格见stm32中文参考手册9.1.2。
2023-10-29 21:02:44
1039
原创 RT1050的ADC
RT1052 有 2 个 ADC,每个 ADC 有 12 位、10 位、8 位可选,每个 ADC 有 16 个外部通道。ADC具有最高 1MS/s 采样率支持单次或连续转换模式可配置采样时间和转换速度支持硬件求平均支持自动比较转换结果为小于、大于或等于某一设定的值,或者在设定的范围内、范围外。
2023-08-27 12:31:49
875
2
原创 34 RT1052的EPWM
RT1052 具有 4 个 eFlexPWM(eFlexWM1~eFlex_PWM4)。每个 eFlexPWM 可以产生四路互补 PWM即产生 8 个 PWM,也可以产生相互独立的 PWM 波。四路分别是模块0-3每个 eFlexPWM 具有各自的故障检电路,当故障发生时根据程序锁定 PWM 输出引脚的电平状态。
2023-08-19 16:52:54
1006
原创 RT1052的XBAR
XBAR2 和 XBAR3 的输出经过 AOI1 和 AOI2 后,进入 XBAR1,最终才输出到各个外设/GPIO。因此,XBAR2 和XBAR3 必须搭配 AOI1 和 AOI2 以及 XBAR1 才可以正常使用。RT1052 内部总共有 3 个外设交错开关矩阵:XBAR1、XBAR2 和 XBAR3。XBAR 是 RT1052 芯片自带的内部外设交错开关矩阵。
2023-08-19 16:26:07
668
原创 RT1052 的四定时器
使用函数 QTMR_EnableInterrupts 来使能 QTMR1 通道 0 的比较中断,这样当定时器计数值(CNTR0)达到我们设置的匹配比较值的时候就会产生相应中断。第一时钟源为 IPG_CLK_ROOT 的 128 分频,也就是设置为 kQTMR_ClockDivide_128。在相关的配置完成以后,就可以使能 QTMR 了,使用函数 QTMR_StartTimer 来开启 QTMR定时器。QTMR 相关的库函数在 fsl_qtmr.c 和 fsl_qtmr.h 这两个文件中。
2023-07-30 17:17:19
565
原创 17 RT1052 的周期定时器
在中断产生后使用函数 PIT_GetStatusFlags 来获取中断状态,此函数就是获取 TFLG0 的 TIF 位状态,通过 TIF 位状态判断是否是通道 0 的中断。此函数会被 PIT 定时器初始化函数 PIT_Init 调用,所以不需要我们显示的调用。PIT 定时器实际上是一个定时器阵列,RT1052 内部的 PIT 定时器共有 4 个通道,可用于产生中断和触发 DMA。配置好 PIT 定时器以后需要开启定时器,开启 PIT 定时器的函数为 PIT_StartTimer。4)支持中断/触发功能。
2023-07-30 16:39:04
792
原创 RT1052的定时器
GPT 初始化函数 GPT_Init 默认会使能GPT 使能。divider 设置时钟源分频,可以设置的值范围为 0~4095,分别对应 1~4096 分频。2)12 位可编程预分频器(PR),计数器时钟频率的分频系数为 1~4096 之间的任意数值。一个 32 位定时器,拥有 2 个输入捕获通道、3 个输出比较通道以及相应的中断。4)3 个输出比较通道,支持取反、设置、清零和生成单脉冲(1 个输入时钟)模式。GPT 相关的库函数在 fsl_gpt.c 和 fsl_gpt.h 这两个文件中。
2023-07-30 15:57:00
1330
原创 15 时钟控制模块CCM
SysTick 是一个 24 位的倒计数定时器,当计到 0 时,将从RELOAD 寄存器中自动重装载定时初值。只要不把它在 SysTick 控制及状态寄存器中的使能位清除,就永不停息。
2023-07-23 14:21:59
675
原创 7 11 RT1052的GPIO输出
文章目录GPIO资源GPIO资源图中 P2、P3 和 P6 为 MCU 主 IO 引出口,这三组排针共引出了 97 个 IO 口,另外,通过:P4(P112&P113)和 P8(P300&P301)等 2 组排针引出 4 个 IO 口P112 ,P113 之类的,是指:GPIO1_IO12 ,GPIO1_IO13 ,是 GPIO 的简化叫法底板上总共引出了 101个 IO。RT1052 总共有 127 个 IO,剩下的 26 个 IO,主要用在了 SDRAM、FlexSP
2023-07-23 12:00:22
940
原创 鼠标键盘实验
STM32F4的USB OTG FS支持USB HID设备,并且ST官方提供了USB HID例程(支持USB鼠标和USB键盘),官方例程路径:光盘STM32参考资料——STM32 USB 学习资料——stm32_f105-07_f2_f4_usb-host-device_lib.zip(解压)——Project —USB_Host_Examples ----HID。STM32参考资料-STM32 USB 学习资料:stm32_f105-07_f2_f4_usb-host-device_lib.zip。
2023-06-18 11:35:38
1258
原创 STM32F407的介绍
0x0800 0000开始的flash,从0x2000 0000开始的sram这两部分,其中flash是我们代码烧录的地方,sram是我们程序执行的内存地址。
2023-06-18 08:12:54
21766
原创 串口协议说明
如果波特率为115200bit/s,则发送 一位的时间为1/115200s/bit,就是1/0.1152us/bit,也就是发送一位的时间为8.680556us左右。UART有开始位,停止位,每10bit数据发完,都会重新从开始位、停止位、来重新检测边沿信号。串口、UART口、COM口、USB口是指的物理接口形式(硬件)。串口是一个泛称,UART、TTL、RS232、RS485都遵循类似的通信时序协议,因此都被通称为串口。通过计算每位传输的时间,1S传输的位可以得到允许波特率波动的范围。
2023-06-17 12:06:57
1748
1
原创 STM32F103的PWM
想让 TIM3_CH2 映射到 PB5 上,则需要设置TIM3_REMAP[1:0]=10,即部分重映射,这里需要注意,此时 TIM3_CH1 也被映射到 PB4 上了。默认条件下,TIM3_REMAP[1:0]为 00,是没有重映射的,所以 TIM3_CH1~TIM3_CH4 分别是接在 PA6、PA7、PB0 和 PB1 上的。要利用 TIM3 的 CH2 输出 PWM 来控制 DS0 的亮度,但是 TIM3_CH2 默认是接在 PA7上面的,而我们的 DS0 接在 PB5 上面。
2023-06-04 17:06:10
4111
原创 STM32F407输入捕获
不 分 频 , 所 以 选 中TIM_ICPSC_DIV1,还有2,4,8分频可选。IC1直接映射在TI1上,选择TIM_ICSelection_DirectTI。配置PA0为复用功能,要设置PA0引脚映射AF2,连接到TIM5上面。获取TIM5_CH1(P A0)上面的高电平脉冲宽度,并从串口打印捕获结果。初始化GPIO的模式为复用功能,同时这里我们还要设置为开启下拉。Fdts是时钟分频后的时钟频率,可以在定时器中设置。启动TIM5的计数器,开始输入捕获。要捕获的是高电平信号的脉宽。
2023-06-04 16:53:19
4365
原创 NXP6050使用
5.The config register配置寄存器 IOMUXC_SW_PAD_CTL_PAD_GPIO1_IO03的地址为020E 02F4h P1793。1.IOMUXC_SW_MUX_CTL_PAD_GPIO1_IO03的寄存器地址为020E 0068h。1.IOMUXC_SW_PAD_CTL_PAD_GPIO1_IO03的寄存器地址为020E 0068h。IOMUXC_GPIO1_IO03_GPIO1_IO03在iomuxc.h 中的宏定义。配置IOMUXC_SetPinMux()的6个参数为。
2023-06-04 10:54:16
802
原创 STM32的SRAM
XM8A51216 是深圳星忆存储科技有限公司生产的一颗(512*16,即 1M 字节)容量的 CMOS 静态内存芯片。啥是CMOS?
2023-04-14 23:00:22
2384
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅