一、硬件连接类
1、仿真器配置
(1) 硬件接口配置
这里采用的是普中的DAP 仿真器,感觉应该是年代久远了,几年前买的,资料缺失,缺失端口定义,在没找到资料前,实在是搞笑了!没错,接口搞错了。让右侧的几个输入端口(DIO、CLK)当成SWO的输出接口了。
正确的连接图(在某宝评论看到的)其实跟STlink的一致,记得load后要复位:
下面是实物图,注意缺口方向:
(2) 软件配置
调试方法类似:stlink调试
有所不同的是PZ在debug里选择的是:cmsis-DAP
BOOT可能其他方式也行,仅测试这一种接法:
2、boot 0、1 配置(已验证)
(1)flymcu串口烧录时1、0
烧录方法如下:
FLYMCU串口烧录STM32
https://blog.csdn.net/weixin_42690036/article/details/129529745?ops_request_misc=&request_id=&biz_id=102&utm_term=flymcu%E7%83%A7%E5%BD%95stm32%E6%9C%80%E5%B0%8F%E7%89%88&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-0-129529745.142%5Ev100%5Epc_search_result_base2&spm=1018.2226.3001.4187 对应BOOT :
USB转TTL接口连接:
RXD-----A9
TXD-----A10
3V3----3.3
GNG---G
(2) 连接仿真器在线调试时 00
这里使用仿真器调试,用keil 软件 load程序后,需要按单片机最小板复位键使程序生效
hhhh江科大入门点灯程序已烧录完毕,灯已点亮
二、软件程序类
待编辑
涉及程序汇总
1、点灯:
#include "stm32f10x.h" // Device header
//#库函数点灯
int main(void)
{
// #RCC->APB2ENR = 0X00000010;#
// #GPIOC->CRH = 0X00300000;
// #GPIOC->ODR = 0X00002000;
//
// #使能时钟------1
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);
// #结构体 端口模式-----
GPIO_InitTypeDef GPIO_InitStructure;
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;//这里是推挽输出,点灯用
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_0;
GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;//端口+速率
// GPIO_WriteBit(GPIOA,GPIO_Pin_0,Bit_SET);
GPIO_Init(GPIOA, &GPIO_InitStructure);
//高低电平
// GPIO_SetBits(GPIOC, GPIO_Pin_13);
// GPIO_ResetBits(GPIOC, GPIO_Pin_13);
while(1)
{
// GPIO_Write(GPIOA, ~0x0001);
// Delay_ms(500);
// GPIO_Write(GPIOA, ~0x0002);//0000 0000 0000 0001
// Delay_ms(500);
// GPIO_Write(GPIOA, ~0x0004);
// Delay_ms(500);
// GPIO_Write(GPIOA, ~0x0008);
// Delay_ms(500);
// GPIO_Write(GPIOA, ~0x00010);
// Delay_ms(500);
// GPIO_Write(GPIOA, ~0x00020);
// Delay_ms(500);
// GPIO_ResetBits(GPIOA, GPIO_Pin_0);
// Delay_ms(500);
//
// GPIO_SetBits(GPIOA, GPIO_Pin_0);
// Delay_ms(500);
//
GPIO_WriteBit(GPIOA,GPIO_Pin_0,Bit_RESET);//亮
Delay_ms(300);
GPIO_WriteBit(GPIOA,GPIO_Pin_0,Bit_SET);//熄灭
Delay_ms(500);
GPIO_WriteBit(GPIOA,GPIO_Pin_0,Bit_RESET);//亮
Delay_ms(200);
GPIO_WriteBit(GPIOA,GPIO_Pin_0,Bit_SET);//熄灭
Delay_ms(100);
}
}