使用stm32cube配置SYS-debug

     debug里面有四种模式,分别是Serial Wire,JTAG(4 pins),JTAG(5 pins),Trace Asynchronous SW。这四种模式对应不同的协议,但是协议具体是什么,我们不需要知道。我们只需要知道不同的协议需要不同的下载器。

     既然电脑的程序是对应给我们的单片机的,那我们为什么非要使用这些下载器呢?

     我给大家举个例子,比如说电脑程序是麦子,单片机是一个吃麦子的人,人吃麦子这件事本身没问题,但是人可以直接吃麦子吗?麦子不需要加工吗?这时候,作为可以把麦子转化为面粉的下载器来了,这样人就间接的吃了麦子。所以说下载器就在这里起到了一个转化的作用,把电脑里的程序通过转化后以另一种方式给了单片机。

    这四种协议有啥区别呢?

简单的理解,引脚上的区别

Serial Wire模式下需要PA13和PA14这2个引脚

JTAG(4 pins)模式下需要PB3,PA13,PA14,PA15这4个引脚

JTAG(5 pins)模式下需要PB3,PB4,PA13,PA14,PA15这5个引脚

Trace Asynchronous SW模式下需要PB3,PA13,PA14这3个引脚

你有没有发现四种模式下,在完成同样的功能下,Serial Wire占用的GPIO是最少的。这样是不是就多出了别的GPIO口来干别的事了。

     使用ST-LINK V2作为烧录器就可以使用Serial Wire模式,这也是为什么我们使用ST-LINK V2作为烧录器要选择Serial Wire模式,而不选择别的模式。

手册里给出了为什么选择Serial Wire模式后PA13,PA14会对应的亮且显示出对应的内容

### STM32CubeIDE中的时钟配置方法 在STM32CubeIDE中,正确配置时钟设置是一个重要的过程,它直接影响到微控制器的性能和功耗。以下是关于如何在STM32CubeIDE中完成这一操作的具体说明。 #### 配置SysTick定时器作为时间基源 默认情况下,STM32的时间基准通常由SysTick提供。然而,在某些应用场合下可能需要更改这个设定。例如,可以将“TimeBase Source”从SysTick更改为其他Timer实例来满足特定需求[^1]。这一步骤可以通过如下方式实现: 进入 **Clock Configuration** 页面之后,定位至 **System Core** -> **SYS** 的选项卡。在这里能够发现有关调试(Debug)以及跟踪(Trace)的相关参数调整入口;同时也可以看到用于指定时间基础来源(Time Base Source)的部分。如果希望改变成不同于SysTick的计时机制,则需在此处做出相应修改并选择合适的替代方案比如TIMx系列之一作为新的时间驱动单元。 #### 调整Debug模式下的追踪功能 另外值得注意的是当涉及到程序运行期间的数据采集或者错误捕捉等功能启用与否的选择上,“Debug”的属性也需要被适当定义。“Trace Asynchronous Sw”是一种异步软件触发形式,适用于大多数开发环境当中对于实时表现要求较高的场景之下使用。因此建议按照项目实际状况决定是否开启此类特性,并通过上述提到过的路径去执行具体变更动作即可达成目标效果。 ```c // 示例代码展示如何初始化一个通用定时器(假设为 TIM2) void MX_TIM2_Init(void) { __HAL_RCC_TIM2_CLK_ENABLE(); // 启用 TIM2 时钟 TIM_HandleTypeDef htim2; htim2.Instance = TIM2; htim2.Init.Prescaler = 8399; // 设置预分频值 (基于系统核心频率计算得出) htim2.Init.CounterMode = TIM_COUNTERMODE_UP; // 计数方向向上增加 htim2.Init.Period = 9999; // 自动重装载寄存器周期数值 HAL_TIM_Base_Init(&htim2); // 初始化基本定时器结构体成员变量赋初值后的对象句柄传入函数调用以完成最终启动流程。 } ``` 以上展示了针对某个具体的硬件资源——即这里选用的TIM2为例进行了初步定制化处理的过程演示。当然每种型号之间可能存在细微差异所以务必参照官方资料手册确认细节后再实施部署工作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值