OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 29022|回复: 138

STM32 F1 高级定时器TIM8 脉冲计数 计数器1模式 CH1通道 (第一次做贡献)

  [复制链接]

1

主题

6

帖子

0

精华

初级会员

Rank: 2

积分
60
金钱
60
注册时间
2019-8-13
在线时间
23 小时
发表于 2020-2-22 12:49:25 | 显示全部楼层 |阅读模式
PA1 脉冲输出给 PC6作为TIM8外部计数通道1使用一、配置IO和定时器
  1. TIM_ICInitTypeDef  TIM8_ICInitStructure;

  2. void TIM8_Cap_Init(u16 arr,u16 psc)
  3. {          
  4. GPIO_InitTypeDef  GPIO_InitStructuer;
  5. TIM_TimeBaseInitTypeDef TIM_TimeBaseInitStructure;
  6. NVIC_InitTypeDef NVIC_InitStructure;

  7. RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC|RCC_APB2Periph_GPIOA,ENABLE);
  8. RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM8,ENABLE); ///使能TIM8时钟

  9.        
  10. GPIO_InitStructuer.GPIO_Pin = GPIO_Pin_6;
  11. GPIO_InitStructuer.GPIO_Mode =  GPIO_Mode_IPD;//下拉输入
  12. GPIO_InitStructuer.GPIO_Speed = GPIO_Speed_50MHz;
  13. GPIO_Init(GPIOC, &GPIO_InitStructuer);
  14.        
  15. GPIO_InitStructuer.GPIO_Pin = GPIO_Pin_1;
  16. GPIO_InitStructuer.GPIO_Mode = GPIO_Mode_Out_PP;
  17. GPIO_InitStructuer.GPIO_Speed = GPIO_Speed_50MHz;       
  18. GPIO_Init(GPIOA, &GPIO_InitStructuer);
  19. GPIO_ResetBits(GPIOA,GPIO_Pin_1);                                                 //PA.1 输出DI
  20.        
  21. //timer1 NVIC 配置                                                                       uint16_t TIM_Prescaler;        
  22. TIM_DeInit(TIM8);                                                                                                      
  23.                                                                                              
  24. TIM_TimeBaseInitStructure.TIM_Period = arr;//自动重装载值                                 uint16_t TIM_CounterMode;      
  25. TIM_TimeBaseInitStructure.TIM_Prescaler=psc; //定时器分频                                                                 
  26. TIM_TimeBaseInitStructure.TIM_ClockDivision=TIM_CKD_DIV1;                              
  27. TIM_TimeBaseInitStructure.TIM_CounterMode=TIM_CounterMode_Up;//向上计数模式               uint16_t TIM_Period;           
  28. TIM_TimeBaseInitStructure.TIM_RepetitionCounter = 0;//溢出多少次后进入中断                                                
  29. TIM_TimeBaseInit(TIM8,&TIM_TimeBaseInitStructure);//初始化TIM8                                                            
  30.                                                                                        
  31. NVIC_InitStructure.NVIC_IRQChannel = TIM8_UP_IRQn;                                       //uint16_t TIM_ClockDivision;   
  32. NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=2;//抢占优先级2                                                      
  33. NVIC_InitStructure.NVIC_IRQChannelSubPriority = 2;//子优先级2                           
  34. NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;//IRQ通道使能                              uint8_t TIM_RepetitionCounter;  
  35. NVIC_Init(&NVIC_InitStructure); //根据指定的参数初始化VIC寄存器
  36. //TIM_ETRClockMode1Config(TIM8, TIM_ExtTRGPSC_OFF,TIM_ExtTRGPolarity_NonInverted, 5);//5次采样滤波  外部时钟模式2
  37. //TIM_SelectMasterSlaveMode(TIM8,TIM_MasterSlaveMode_Enable); //启动定时器的被动触发

  38. TIM_ClearITPendingBit(TIM8,TIM_IT_Update); //清除中断标志位,避免第一次自动进入中断一次

  39. TIM_TIxExternalClockConfig( TIM8, TIM_TIxExternalCLK1Source_TI1,TIM_ICPolarity_Rising, 0xF );

  40. TIM8->CCMR1|=1;//CC1S[1:0]:捕获/比较1 选择。(Capture/Compare 1 selection) 位1:0 这2位定义通道的方向(输入/输出),及输入脚的选择: 00:CC1通道被配置为输出; 01:CC1通道被配置为输入,IC1映射在TI1上;
  41. TIM8->SMCR|=0x07;//寄存器的SMS=’111’,选择定时器外部时钟模式1
  42. TIM8->SMCR|=0x50;//置TIMx_SMCR寄存器中TS=101,选择TI1作为输入源。
  43. TIM8->CCER|=1<<4;//中文资料坑人系列  捕获使能。
  44. TIM8->CCER&=~(1<<5);//第6位置一0:不反相:捕获发生在IC1的上升沿;当用作外部触发器时,IC1不反相。
  45. //TIM8->CR1|=1;
  46. //TIM_ETRClockMode1Config
  47. TIM_SetCounter(TIM8,0);//设置计数初值
  48. TIM_ITConfig(TIM8,TIM_IT_Update,ENABLE);
  49. TIM_Cmd(TIM8,ENABLE); //使能定时器1

  50. }
复制代码
上面配置寄存器部分和库函数部分重复,可选择删除↓
  1. TIM8->CCMR1|=1;//CC1S[1:0]:捕获/比较1 选择。(Capture/Compare 1 selection) 位1:0 这2位定义通道的方向(输入/输出),及输入脚的选择: 00:CC1通道被配置为输出; 01:CC1通道被配置为输入,IC1映射在TI1上;
  2. TIM8->SMCR|=0x07;//寄存器的SMS=’111’,选择定时器外部时钟模式1
  3. TIM8->SMCR|=0x50;//置TIMx_SMCR寄存器中TS=101,选择TI1作为输入源。
  4. TIM8->CCER|=1<<4;//中文资料坑人系列  捕获使能。
  5. TIM8->CCER&=~(1<<5);//第6位置一0:不反相:捕获发生在IC1的上升沿;当用作外部触发器时,IC1不反相。
复制代码


搜到很多人说进不了TIM8的中断函数是因为缺少这一句↓
  1. TIM_TimeBaseInitStructure.TIM_RepetitionCounter = 0;//溢出多少次后进入中断  
复制代码
主函数
  1. u16 COUN1=0;
  2. u16 COUN2=0;
  3. u8 n,m=0,y=0;

  4. int main(void)
  5. {       
  6.          delay_init();                     //延时函数初始化
  7.         TIM8_Cap_Init(10-1,0);                //10次一溢出  、外部计数(减一应该是重要的影响到数据准确度)
  8.          delay_ms(1000);//
  9.        
  10.            while(1)
  11.         {
  12.                 for(n=0;n<22;n++)//共有11次上升沿出现
  13.                 {
  14.                         delay_ms(1);
  15.                         PAout(1)=~PAout(1);//端口翻转
  16.                 }               
  17.                 while(1)//总数
  18.                 {
  19.                         COUN2=(COUN1*10)+(TIM8->CNT);
  20.                 }
  21.                 //COUN1=TIM8->CNT;
  22.         }
  23. }
复制代码
TIM8中断入口
  1. [hide]void TIM8_UP_IRQHandler(void)
  2. {        
  3.         if (TIM_GetITStatus(TIM8, TIM_IT_Update) != RESET)
  4.         {               
  5.                 COUN1++;
  6.                 TIM_SetCounter(TIM8,0);//清除计数器
  7.         }
  8.   TIM_ClearITPendingBit(TIM8,TIM_IT_Update); //清除中断标志位
  9.        
  10. }[/hide]
复制代码
再次说一下进不去高级定时器中断的问题在于未设置溢出次数进入中断那里,小白第一次发帖不喜勿喷,一起努力感谢正点原子
头文件什么的随便找个原子哥的例程删掉原来的然后一条一条复制进去就好了,再根据自己需求更改
  省事的复制下面
游客,如果您要查看本帖隐藏内容请回复

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

1

主题

6

帖子

0

精华

初级会员

Rank: 2

积分
60
金钱
60
注册时间
2019-8-13
在线时间
23 小时
 楼主| 发表于 2020-2-22 12:50:34 | 显示全部楼层
回复 支持 反对

使用道具 举报

0

主题

3

帖子

0

精华

新手上路

积分
23
金钱
23
注册时间
2019-4-15
在线时间
9 小时
发表于 2020-2-29 09:17:00 | 显示全部楼层
xuexuyixia学习一下
回复 支持 反对

使用道具 举报

0

主题

1

帖子

0

精华

新手入门

积分
17
金钱
17
注册时间
2020-1-27
在线时间
8 小时
发表于 2020-3-9 00:26:55 | 显示全部楼层
感谢楼主
回复 支持 反对

使用道具 举报

0

主题

1

帖子

0

精华

新手入门

积分
17
金钱
17
注册时间
2020-2-7
在线时间
5 小时
发表于 2020-3-12 20:52:21 | 显示全部楼层
感谢大佬
回复 支持 反对

使用道具 举报

0

主题

3

帖子

0

精华

新手上路

积分
47
金钱
47
注册时间
2020-1-6
在线时间
15 小时
发表于 2020-3-18 14:23:04 | 显示全部楼层
顶起来 开心就好
回复 支持 反对

使用道具 举报

0

主题

1

帖子

0

精华

新手入门

积分
2
金钱
2
注册时间
2020-3-23
在线时间
0 小时
发表于 2020-3-23 19:40:11 | 显示全部楼层
1111111
回复 支持 反对

使用道具 举报

0

主题

2

帖子

0

精华

新手上路

积分
24
金钱
24
注册时间
2020-3-9
在线时间
7 小时
发表于 2020-3-28 14:49:49 | 显示全部楼层
学习一下
回复 支持 反对

使用道具 举报

0

主题

13

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
224
金钱
224
注册时间
2019-7-25
在线时间
57 小时
发表于 2020-4-7 11:07:04 | 显示全部楼层
good, thank you.
苦海,泛起爱恨。
回复 支持 反对

使用道具 举报

0

主题

1

帖子

0

精华

新手入门

积分
3
金钱
3
注册时间
2020-4-5
在线时间
0 小时
发表于 2020-4-9 16:59:00 | 显示全部楼层
非常感谢分享
回复 支持 反对

使用道具 举报

0

主题

2

帖子

0

精华

初级会员

Rank: 2

积分
50
金钱
50
注册时间
2019-11-28
在线时间
17 小时
发表于 2020-4-13 13:22:45 | 显示全部楼层
顶你,学习学习
回复 支持 反对

使用道具 举报

2

主题

15

帖子

0

精华

新手上路

积分
38
金钱
38
注册时间
2019-9-20
在线时间
13 小时
发表于 2020-4-14 22:15:24 | 显示全部楼层
学习
回复 支持 反对

使用道具 举报

3

主题

19

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
295
金钱
295
注册时间
2014-4-29
在线时间
70 小时
发表于 2020-4-16 11:13:47 | 显示全部楼层
不错,学习一下
回复 支持 反对

使用道具 举报

17

主题

43

帖子

0

精华

初级会员

Rank: 2

积分
171
金钱
171
注册时间
2018-10-3
在线时间
60 小时
发表于 2020-4-16 13:12:41 | 显示全部楼层
okokokokoko
回复 支持 反对

使用道具 举报

0

主题

1

帖子

0

精华

新手入门

积分
3
金钱
3
注册时间
2020-4-26
在线时间
1 小时
发表于 2020-4-26 21:32:02 | 显示全部楼层
感谢大佬
回复 支持 反对

使用道具 举报

0

主题

22

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
220
金钱
220
注册时间
2020-4-7
在线时间
19 小时
发表于 2020-5-7 16:38:29 | 显示全部楼层
学习一下
回复 支持 反对

使用道具 举报

0

主题

1

帖子

0

精华

新手入门

积分
3
金钱
3
注册时间
2020-5-15
在线时间
1 小时
发表于 2020-5-15 09:34:22 | 显示全部楼层
支持支持在才支持
回复 支持 反对

使用道具 举报

0

主题

17

帖子

0

精华

初级会员

Rank: 2

积分
50
金钱
50
注册时间
2019-5-23
在线时间
10 小时
发表于 2020-5-25 08:45:00 | 显示全部楼层
感谢楼主
回复 支持 反对

使用道具 举报

0

主题

1

帖子

0

精华

新手入门

积分
7
金钱
7
注册时间
2020-5-26
在线时间
3 小时
发表于 2020-5-26 09:34:55 | 显示全部楼层
谢谢分享
回复 支持 反对

使用道具 举报

0

主题

1

帖子

0

精华

新手入门

积分
7
金钱
7
注册时间
2020-5-25
在线时间
4 小时
发表于 2020-5-28 12:10:57 | 显示全部楼层
感谢分享
回复 支持 反对

使用道具 举报

1

主题

8

帖子

0

精华

新手上路

积分
26
金钱
26
注册时间
2019-12-2
在线时间
6 小时
发表于 2020-6-11 08:58:25 | 显示全部楼层
学习一下
回复 支持 反对

使用道具 举报

0

主题

2

帖子

0

精华

新手入门

积分
15
金钱
15
注册时间
2020-3-7
在线时间
5 小时
发表于 2020-6-13 09:34:52 | 显示全部楼层
学习学习
回复 支持 反对

使用道具 举报

21

主题

217

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2124
金钱
2124
注册时间
2017-12-11
在线时间
460 小时
发表于 2020-6-13 10:07:27 | 显示全部楼层
感谢分享,学习一下!
回复 支持 反对

使用道具 举报

0

主题

1

帖子

0

精华

新手上路

积分
25
金钱
25
注册时间
2019-5-7
在线时间
8 小时
发表于 2020-6-15 10:17:57 | 显示全部楼层
很不错,可以看看
回复 支持 反对

使用道具 举报

1

主题

8

帖子

0

精华

新手上路

积分
26
金钱
26
注册时间
2019-12-2
在线时间
6 小时
发表于 2020-6-24 10:53:54 | 显示全部楼层
请问大佬F4的怎么配置呢 需要改什么地方 !
回复 支持 反对

使用道具 举报

0

主题

2

帖子

0

精华

新手上路

积分
36
金钱
36
注册时间
2013-2-12
在线时间
4 小时
发表于 2020-6-24 15:24:52 | 显示全部楼层
fuzhizhantie
回复 支持 反对

使用道具 举报

0

主题

8

帖子

0

精华

初级会员

Rank: 2

积分
166
金钱
166
注册时间
2020-5-27
在线时间
51 小时
发表于 2020-7-27 20:01:19 | 显示全部楼层
学习!
回复 支持 反对

使用道具 举报

1

主题

19

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
294
金钱
294
注册时间
2019-5-23
在线时间
143 小时
发表于 2020-7-28 09:56:26 | 显示全部楼层
支持支持
回复 支持 反对

使用道具 举报

0

主题

2

帖子

0

精华

初级会员

Rank: 2

积分
54
金钱
54
注册时间
2020-7-9
在线时间
20 小时
发表于 2020-7-31 17:24:58 | 显示全部楼层
0
12332
回复 支持 反对

使用道具 举报

0

主题

25

帖子

0

精华

初级会员

Rank: 2

积分
189
金钱
189
注册时间
2019-8-16
在线时间
50 小时
发表于 2020-8-1 16:39:44 | 显示全部楼层
马克马克
回复 支持 反对

使用道具 举报

0

主题

3

帖子

0

精华

新手上路

积分
20
金钱
20
注册时间
2020-7-28
在线时间
14 小时
发表于 2020-8-3 12:19:51 | 显示全部楼层
谢谢,太有用了
回复 支持 反对

使用道具 举报

0

主题

5

帖子

0

精华

初级会员

Rank: 2

积分
52
金钱
52
注册时间
2019-4-7
在线时间
15 小时
发表于 2020-8-11 17:16:22 | 显示全部楼层
谢谢分享,学习学习
回复 支持 反对

使用道具 举报

1

主题

4

帖子

0

精华

新手上路

积分
30
金钱
30
注册时间
2019-7-10
在线时间
8 小时
发表于 2020-8-12 15:41:34 | 显示全部楼层
void TIM8_NVIC_Init(void)
{
    NVIC_InitTypeDef NVIC_InitStructure;
    NVIC_PriorityGroupConfig(NVIC_PriorityGroup_0);                 
    NVIC_InitStructure.NVIC_IRQChannel = TIM8_UP_IRQn;  
    NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;  
    NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;  
    NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
    NVIC_Init(&NVIC_InitStructure);  
}

void TIM8_ETR_GPIO_Init(void)        //PA0
{
        GPIO_InitTypeDef GPIO_InitStructure;
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM8, ENABLE);
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);
       
       
        GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;
        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING; //
        //GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //50M
        GPIO_Init(GPIOA, &GPIO_InitStructure);
}

void TIM8_Init(void)
{
                TIM_TimeBaseInitTypeDef   TIM_TimeBaseStructure;
       
                TIM_DeInit(TIM8);
               
                TIM8_NVIC_Init();
               
                TIM_TimeBaseStructure.TIM_Period = MAX_PULSE_COUNT4;//&#188;&#198;êyμ&#189;65000&#190;í&#189;&#248;è&#235;&#214;D&#182;&#207;
                TIM_TimeBaseStructure.TIM_Prescaler = 0x00;
                TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1;
                TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;
//                TIM_TimeBaseStructure.TIM_RepetitionCounter = 0;//??????????  
                TIM_TimeBaseInit(TIM8, &TIM_TimeBaseStructure); // Time base configuration
                //TIM_ITRxExternalClockConfig(TIM8,TIM_TS_ETRF);
                TIM_ETRClockMode2Config(TIM8, TIM_ExtTRGPSC_OFF, TIM_ExtTRGPolarity_NonInverted, 0);
                TIM_ClearITPendingBit(TIM8,TIM_IT_Update);
               
                TIM_ITConfig(TIM8,TIM_IT_Update,ENABLE );
               
                TIM_SetCounter(TIM8, 0);
                TIM_Cmd(TIM8, ENABLE);
}

用STM32F103RET6  PA0作为TIM8_ETR功能  输入脉冲  进行脉冲计数,发现脉冲检测50KHz以内都没有问题,但是超过50Khz 哪怕一点点,检测到的脉冲数量就开始乱了,大佬们帮我看看程序配置上是什么问题,同样的配置 TIME1 的ETR使用没有问题
回复 支持 反对

使用道具 举报

17

主题

97

帖子

0

精华

高级会员

Rank: 4

积分
822
金钱
822
注册时间
2020-7-21
在线时间
85 小时
发表于 2020-8-13 15:48:16 | 显示全部楼层
666666
回复 支持 反对

使用道具 举报

1

主题

5

帖子

0

精华

新手上路

积分
39
金钱
39
注册时间
2020-7-21
在线时间
14 小时
发表于 2020-8-20 15:47:18 | 显示全部楼层
学习一下
回复 支持 反对

使用道具 举报

0

主题

7

帖子

0

精华

初级会员

Rank: 2

积分
160
金钱
160
注册时间
2019-5-11
在线时间
59 小时
发表于 2020-8-25 16:55:29 | 显示全部楼层
感谢分享
回复 支持 反对

使用道具 举报

0

主题

5

帖子

0

精华

新手上路

积分
28
金钱
28
注册时间
2020-1-21
在线时间
7 小时
发表于 2020-8-25 17:44:12 | 显示全部楼层
感谢大佬
回复 支持 反对

使用道具 举报

0

主题

2

帖子

0

精华

新手入门

积分
12
金钱
12
注册时间
2017-9-12
在线时间
4 小时
发表于 2020-9-3 19:57:50 | 显示全部楼层
回复 支持 反对

使用道具 举报

5

主题

40

帖子

0

精华

高级会员

Rank: 4

积分
564
金钱
564
注册时间
2019-8-31
在线时间
172 小时
发表于 2020-9-10 16:45:39 | 显示全部楼层
试试能用不
回复 支持 反对

使用道具 举报

0

主题

81

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
208
金钱
208
注册时间
2014-9-18
在线时间
21 小时
发表于 2020-9-12 11:42:00 | 显示全部楼层

非常感谢分享
回复 支持 反对

使用道具 举报

0

主题

14

帖子

0

精华

初级会员

Rank: 2

积分
120
金钱
120
注册时间
2019-7-24
在线时间
34 小时
发表于 2020-10-12 20:07:57 | 显示全部楼层
好好学习,天天向上
回复 支持 反对

使用道具 举报

0

主题

1

帖子

0

精华

新手入门

积分
7
金钱
7
注册时间
2020-10-13
在线时间
2 小时
发表于 2020-10-13 14:36:41 | 显示全部楼层
11111111
回复 支持 反对

使用道具 举报

0

主题

1

帖子

0

精华

新手入门

积分
2
金钱
2
注册时间
2020-10-17
在线时间
0 小时
发表于 2020-10-17 16:22:41 | 显示全部楼层
学习学习一下
回复 支持 反对

使用道具 举报

0

主题

1

帖子

0

精华

新手上路

积分
25
金钱
25
注册时间
2015-11-10
在线时间
2 小时
发表于 2020-10-18 16:42:53 | 显示全部楼层
感谢分享
回复 支持 反对

使用道具 举报

0

主题

1

帖子

0

精华

新手入门

积分
2
金钱
2
注册时间
2020-10-19
在线时间
0 小时
发表于 2020-10-19 09:12:52 | 显示全部楼层
受教!
回复 支持 反对

使用道具 举报

0

主题

1

帖子

0

精华

新手上路

积分
29
金钱
29
注册时间
2014-5-13
在线时间
2 小时
发表于 2020-10-20 14:59:07 | 显示全部楼层
赞一个,非常感谢
回复 支持 反对

使用道具 举报

0

主题

1

帖子

0

精华

新手入门

积分
5
金钱
5
注册时间
2020-11-9
在线时间
1 小时
发表于 2020-11-10 15:32:25 | 显示全部楼层
楼主你好,我要实现gd32F103C8引脚PB0捕获温度传感器(NST1001)的脉冲,基于你的代码做了更改,但是没有成功…能提示下更改需要注意的地方吗
回复 支持 反对

使用道具 举报

0

主题

15

帖子

0

精华

初级会员

Rank: 2

积分
57
金钱
57
注册时间
2013-8-24
在线时间
8 小时
发表于 2020-11-11 10:27:06 | 显示全部楼层
kankan
回复 支持 反对

使用道具 举报

2

主题

70

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
366
金钱
366
注册时间
2019-1-16
在线时间
101 小时
发表于 2020-11-12 16:27:56 | 显示全部楼层
mark111111
回复 支持 反对

使用道具 举报

0

主题

1

帖子

0

精华

新手上路

积分
20
金钱
20
注册时间
2020-7-22
在线时间
6 小时
发表于 2020-11-14 21:22:27 | 显示全部楼层
感谢大佬
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-24 21:14

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表