T3A14 000:046 SEGGER J-Link V4.76d Log File (0001ms, 0047ms total)
T3A14 000:046 DLL Compiled: Sep 13 2013 16:35:06 (0001ms, 0047ms total)
T3A14 000:046 Logging started @ 2019-07-04 14:21 (0001ms, 0047ms total)
T3A14 000:047 JLINK_SetWarnOutHandler(...) (0000ms, 0047ms total)
T3A14 000:047 JLINK_OpenEx(...)
Firmware: J-Link V9 compiled Oct 25 2018 11:46:07
Hardware: V9.60
S/N: 583648125
Feature(s): GDB, RDI, FlashBP, FlashDL, JFlash, RDDI returns O.K. (0027ms, 0074ms total)
T3A14 000:074 JLINK_SetErrorOutHandler(...) (0000ms, 0074ms total)
T3A14 000:074 JLINK_ExecCommand("ProjectFile = "C:\Users\ggg\Desktop\02-仿真电路和源程序\项目二 跑马灯设计与实现\任务4 LED循环点亮(技能训练跑马灯设计)\LED循环点亮\USER\JLinkSettings.ini"", ...) returns 0x00 (0000ms, 0074ms total)
T3A14 000:078 JLINK_ExecCommand("Device = STM32F103VC", ...)
JLINK_AddMirrorAreaEx(Addr = 0x00000000, Size = 0x00000000) (0000ms, 0000ms total)
Device "STM32F103VC" selected (256 KB flash, 48 KB RAM). returns 0x00 (0006ms, 0080ms total)
T3A14 000:085 JLINK_ExecCommand("DisableConnectionTimeout", ...) returns 0x01 (0000ms, 0080ms total)
T3A14 000:085 JLINK_GetHardwareVersion() returns 0x17700 (0000ms, 0080ms total)
T3A14 000:085 JLINK_GetDLLVersion() returns 47604 (0000ms, 0080ms total)
T3A14 000:085 JLINK_GetFirmwareString(...) (0000ms, 0080ms total)
T3A14 000:093 JLINK_GetDLLVersion() returns 47604 (0000ms, 0080ms total)
T3A14 000:093 JLINK_GetCompileDateTime() (0000ms, 0080ms total)
T3A14 000:095 JLINK_GetFirmwareString(...) (0000ms, 0080ms total)
T3A14 000:097 JLINK_GetHardwareVersion() returns 0x17700 (0001ms, 0081ms total)
T3A14 000:107 JLINK_TIF_Select(JLINKARM_TIF_JTAG) returns 0x00 (0000ms, 0081ms total)
T3A14 000:107 JLINK_SetSpeed(2000) (0001ms, 0082ms total)
T3A14 000:108 JLINK_GetIdData(...) >0x2F8 JTAG>TotalIRLen = 9, IRPrint = 0x0011 >0x30 JTAG> >0x210 JTAG> >0x40 JTAG> >0x40 JTAG> >0x40 JTAG> >0x30 JTAG> >0x40 JTAG> >0x40 JTAG> >0x40 JTAG> >0x40 JTAG> >0x40 JTAG> >0x40 JTAG> >0x40 JTAG> >0x40 JTAG> >0x2F8 JTAG>TotalIRLen = 9, IRPrint = 0x0011 >0x30 JTAG> >0x210 JTAG> >0x70 JTAG> >0x40 JTAG> >0x40 JTAG> >0x40 JTAG> >0x50 JTAG> >0x80 JTAG> >0x40 JTAG> >0x30 JTAG> >0x40 JTAG> >0x40 JTAG> >0x30 JTAG> >0x40 JTAG> >0x50 JTAG>
Found Cortex-M3 r1p1, Little endian. -- CPU_WriteMem(4 bytes @ 0xE0002000) -- CPU_ReadMem(4 bytes @ 0xE000EDF0) -- CPU_ReadMem(4 bytes @ 0xE0002000)FPUnit: 6 code (BP) slots and 2 literal slots -- CPU_ReadMem(4 bytes @ 0xE000EDFC) -- CPU_ReadMem(4 bytes @ 0xE0001000) -- CPU_WriteMem(4 bytes @ 0xE0001000) -- CPU_ReadMem(4 bytes @ 0xE00FF010)TPIU fitted. -- CPU_ReadMem(4 bytes @ 0xE00FF014)ETM fitted. -- CPU_ReadMem(4 bytes @ 0xE00FF018) ScanLen=9 NumDevices=2 aId[0]=0x3BA00477 aIrRead[0]=0 aScanLen[0]=0
aScanRead[0]=0 (0072ms, 0154ms total)
T3A14 000:180 JLINK_JTAG_GetDeviceID(DeviceIndex = 0) returns 0x3BA00477 (0000ms, 0154ms total)
T3A14 000:180 JLINK_JTAG_GetDeviceInfo(DeviceIndex = 0) returns 0x00 (0000ms, 0154ms total)
T3A14 000:180 JLINK_JTAG_GetDeviceID(DeviceIndex = 1) returns 0x6414041 (0000ms, 0154ms total)
T3A14 000:180 JLINK_JTAG_GetDeviceInfo(DeviceIndex = 1) returns 0x00 (0000ms, 0154ms total)
T3A14 000:180 JLINK_GetDeviceFamily() returns 3 (0000ms, 0154ms total)
T3A14 000:186 JLINK_ReadMem (0xE00FFFF0, 0x0010 Bytes, ...) -- CPU is running -- CPU_ReadMem(16 bytes @ 0xE00FFFF0) -- Data: 0D 00 00 00 10 00 00 00 05 00 00 00 B1 00 00 00 returns 0x00 (0001ms, 0155ms total)
T3A14 000:187 JLINK_ReadMem (0xE00FFFD0, 0x0020 Bytes, ...) -- CPU is running -- CPU_ReadMem(32 bytes @ 0xE00FFFD0) -- Data: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ... returns 0x00 (0002ms, 0157ms total)
T3A14 000:189 JLINK_ReadMem (0xE00FF000, 0x0018 Bytes, ...) -- CPU is running -- CPU_ReadMem(24 bytes @ 0xE00FF000) -- Data: 03 F0 F0 FF 03 20 F0 FF 03 30 F0 FF 03 10 F0 FF ... returns 0x00 (0002ms, 0159ms total)
T3A14 000:191 JLINK_ReadMemU32(0xE000ED00, 0x0001 Items, ...) -- CPU is running -- CPU_ReadMem(4 bytes @ 0xE000ED00) -- Data: 31 C2 1F 41 returns 0x01 (0001ms, 0160ms total)
T3A14 000:192 JLINK_SetResetType(JLINKARM_RESET_TYPE_NORMAL) returns JLINKARM_RESET_TYPE_NORMAL (0000ms, 0160ms total)
T3A14 000:192 JLINK_Reset() >0x80 JTAG> >0x40 JTAG> >0x30 JTAG> >0x40 JTAG> >0x40 JTAG> >0x30 JTAG> >0x40 JTAG> >0x50 JTAG>Found Cortex-M3 r1p1, Little endian. -- CPU is running -- CPU_WriteMem(4 bytes @ 0xE000EDF0) -- CPU is running -- CPU_WriteMem(4 bytes @ 0xE000EDFC) -- CPU is running -- CPU_WriteMem(4 bytes @ 0xE000ED0C) -- CPU is running -- CPU_ReadMem(4 bytes @ 0xE000EDF0) -- CPU is running -- CPU_ReadMem(4 bytes @ 0xE000EDF0) -- CPU is running -- CPU_WriteMem(4 bytes @ 0xE000EDF0)
-- CPU is running -- CPU_WriteMem(4 bytes @ 0xE000EDFC) -- CPU is running -- CPU_ReadMem(4 bytes @ 0xE000EDF0) >0x80 JTAG> >0x40 JTAG> >0x30 JTAG> >0x40 JTAG> >0x50 JTAG> >0x40 JTAG> -- CPU_WriteMem(4 bytes @ 0xE000EDFC) -- CPU_WriteMem(4 bytes @ 0xE0001028) -- CPU_WriteMem(4 bytes @ 0xE0001038) -- CPU_WriteMem(4 bytes @ 0xE0001048) -- CPU_WriteMem(4 bytes @ 0xE0001058) -- CPU_WriteMem(4 bytes @ 0xE0002000) (0052ms, 0212ms total)
T3A14 000:244 JLINK_Halt() returns 0x00 (0001ms, 0213ms total)
T3A14 000:245 JLINK_IsHalted() returns TRUE (0000ms, 0213ms total)
T3A14 000:245 JLINK_ReadMemU32(0xE000EDF0, 0x0001 Items, ...) -- CPU_ReadMem(4 bytes @ 0xE000EDF0) -- Data: 03 00 03 00 returns 0x01 (0001ms, 0214ms total)
T3A14 000:246 JLINK_WriteU32(0xE000EDF0, 0xA05F0003) -- CPU_WriteMem(4 bytes @ 0xE000EDF0) returns 0x00 (0001ms, 0215ms total)
T3A14 000:247 JLINK_WriteU32(0xE000EDFC, 0x01000000) -- CPU_WriteMem(4 bytes @ 0xE000EDFC) returns 0x00 (0001ms, 0216ms total)
T3A14 000:268 JLINK_GetHWStatus(...) returns 0x00 (0000ms, 0216ms total)
T3A14 000:284 JLINK_GetNumBPUnits(Type = 0xFFFFFF00) returns 0x00 (0000ms, 0216ms total)
T3A14 000:284 JLINK_GetNumBPUnits(Type = 0xF0) returns 0x2000 (0001ms, 0217ms total)
T3A14 000:285 JLINK_GetNumWPUnits() returns 0x00 (0000ms, 0217ms total)
T3A14 000:298 JLINK_GetSpeed() returns 0x7D0 (0000ms, 0217ms total)
T3A14 000:302 JLINK_ReadMemU32(0xE000E004, 0x0001 Items, ...) -- CPU_ReadMem(4 bytes @ 0xE000E004) -- Data: 01 00 00 00 returns 0x01 (0001ms, 0218ms total)
T3A14 000:303 JLINK_ReadMemU32(0xE000E004, 0x0001 Items, ...) -- CPU_ReadMem(4 bytes @ 0xE000E004) -- Data: 01 00 00 00 returns 0x01 (0001ms, 0219ms total)
T3A14 000:304 JLINK_WriteMem(0xE0001000, 0x001C Bytes, ...) -- Data: 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ... -- CPU_WriteMem(28 bytes @ 0xE0001000) returns 0x1C (0001ms, 0220ms total)
T3A14 000:305 JLINK_ReadMem (0xE0001000, 0x001C Bytes, ...) -- CPU_ReadMem(28 bytes @ 0xE0001000) -- Data: 01 00 00 40 00 00 00 00 00 00 00 00 00 00 00 00 ... returns 0x00 (0001ms, 0221ms total)
T3A14 000:306 JLINK_Halt() returns 0x00 (0000ms, 0221ms total)
T3A14 000:306 JLINK_IsHalted() returns TRUE (0000ms, 0221ms total)
T3A14 000:309 JLINK_WriteMem(0x20000000, 0x0164 Bytes, ...) -- Data: 00 BE 0A E0 0D 78 2D 06 68 40 08 24 40 00 00 D3 ... -- CPU_WriteMem(356 bytes @ 0x20000000) returns 0x164 (0003ms, 0224ms total)
T3A14 000:312 JLINK_WriteReg(R0, 0x08000000) returns 0x00 (0000ms, 0224ms total)
T3A14 000:312 JLINK_WriteReg(R1, 0x007A1200) returns 0x00 (0000ms, 0224ms total)
T3A14 000:312 JLINK_WriteReg(R2, 0x00000001) returns 0x00 (0000ms, 0224ms total)
T3A14 000:312 JLINK_WriteReg(R3, 0x00000000) returns 0x00 (0000ms, 0224ms total)
T3A14 000:312 JLINK_WriteReg(R4, 0x00000000) returns 0x00 (0000ms, 0224ms total)
T3A14 000:312 JLINK_WriteReg(R5, 0x00000000) returns 0x00 (0000ms, 0224ms total)
T3A14 000:312 JLINK_WriteReg(R6, 0x00000000) returns 0x00 (0000ms, 0224ms total)
T3A14 000:312 JLINK_WriteReg(R7, 0x00000000) returns 0x00 (0000ms, 0224ms total)
T3A14 000:312 JLINK_WriteReg(R8, 0x00000000) returns 0x00 (0000ms, 0224ms total)
T3A14 000:312 JLINK_WriteReg(R9, 0x20000160) returns 0x00 (0000ms, 0224ms tota
利用STM32F10X芯片控制循环点亮LED灯
需积分: 0 167 浏览量
更新于2024-04-17
收藏 3.84MB ZIP 举报
在本文中,我们将深入探讨如何使用STM32F10X系列微控制器来实现LED灯的循环点亮。STM32F10X是意法半导体(STMicroelectronics)推出的一款基于ARM Cortex-M3内核的高性能微控制器,广泛应用在嵌入式系统设计中,尤其在物联网、自动化和消费电子等领域。
我们需要理解STM32F10X的基本结构。它包含了多个外设接口,如GPIO(通用输入/输出)、TIM(定时器)、ADC(模数转换器)等,这些都为我们控制LED提供了基础。在这个实验中,我们主要关注GPIO口,因为这是直接与LED灯连接的部分。
1. GPIO配置:STM32F10X的GPIO口可以配置为输入或输出模式。对于LED灯控制,我们需要将对应的GPIO口设置为推挽输出模式。这可以通过编程修改GPIOx_MODER寄存器的相应位来实现。同时,根据需要选择合适的速度等级(如低速、中速、高速或超高速),通过GPIOx_OSPEEDR寄存器设置。
2. LED初始化:在初始化阶段,我们需要将LED连接的GPIO引脚配置为输出,并将其电平设为低,即关闭LED。这可以通过写入GPIOx_BSRR寄存器的清除位(BRx)来完成。
3. 循环点亮流程:循环点亮LED灯通常涉及到定时器的使用。我们可以设置一个定时器,在每个周期结束时改变GPIO口的状态,从而达到LED灯闪烁的效果。例如,可以使用TIMx_ARR寄存器设定计数器的自动重装载值,通过TIMx_PSC寄存器设置预分频器,调整定时器的频率。
4. 中断服务函数:为了实现定时器中断,我们需要开启TIM的更新中断(UIE),并使能全局中断。当定时器计数器到达预设值时,会触发中断服务函数。在中断服务函数中,我们可以切换GPIO口的电平状态,实现LED灯的切换。
5. 代码实现:在C语言环境下,我们可以使用HAL库或LL库进行编程。HAL库提供了一套面向对象的API,简化了硬件抽象层的操作;而LL库则更接近底层,提供了更高的灵活性。无论是HAL还是LL库,都有对应的函数用于配置GPIO和定时器。
6. 编程调试:使用如STM32CubeIDE这样的集成开发环境编写代码,通过JTAG或SWD接口将程序烧录到STM32F10X芯片中。使用仿真器或调试器进行调试,确保代码逻辑无误,LED灯按照预期循环点亮。
通过这个实验,你可以掌握STM32F10X的基础操作,包括GPIO的配置、定时器的使用以及中断处理。这将为后续更复杂的嵌入式项目打下坚实的基础。在实际应用中,你可以进一步优化循环速度、添加多LED灯控制或者与其他外设结合,实现更多功能。
qq_22467203
- 粉丝: 0
- 资源: 2
最新资源
- 00-【管理制度】09-师带徒管理办法.docx
- 02-【考核方案】02-师带徒考核管理办法.docx
- 02-【考核方案】06-师带徒考核表.doc
- 02-【考核方案】05-师带徒考核标准打分表.doc
- 02-【考核方案】04-师带徒工作考核评价办法.docx
- 02-【考核方案】07-师带徒考核评定标准表范例.doc
- 02-【考核方案】09-师带徒月度考核表.xls
- 03-【培训方案】新员工师带徒岗位成才培训方案.doc
- 双pwm变流器,ac-dc-ac,整流逆变并网,整流侧采用双闭环PI控制,电压外环电流内环,双解耦,svpwm;逆变侧采用双闭环PI控制,电压外环电流内环,svpwm 380vac整流至750v,再
- 导师制培养方案.pptx
- 结构化在岗辅导与导师制P30.pptx
- 华为导师制人才培养模式p22.pptx
- MPPT电导增量法INC仿真模型,作为目前实际光伏发电系统中最常用的mppt算法,采用了输出参考电压的方式来进行PWM调制
- “师带徒”评价表(徒弟评价师傅).xls
- 导师带徒活动记录.xls
- “师带徒”统计表.xlsx