OpenEdv-开源电子网

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

STM32F103RC示波器&&

[复制链接]

27

主题

143

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
1243
金钱
1243
注册时间
2016-1-23
在线时间
487 小时
发表于 2017-3-5 00:51:23 | 显示全部楼层 |阅读模式
本帖最后由 STM129 于 2017-3-5 00:57 编辑

STM32F103RC示波器&& STM32F103C8T6
做个示波器试验,程序是东拼西凑来的,现在也只显示了个筐图

在拼凑来的程序中有个变量不会改,改过几次都不行:volatile u16 ADCConvertedValue[SAMPDEPTH];//AD转换缓冲区。
这个数组块想改成两个块来循环采集数据,以便检测信号的跳变触动,若按照示波器的方法就会漏检

/* 示波器的AD采集 */
#include "Oscilloscope.h"
#include "stm32f10x.h"
#include "lcd.h"
volatile u16 ADCConvertedValue[SAMPDEPTH];//AD转换缓冲区
/*-----------------------------------------



void ADC1_Mode_Config(void)
{
//配置DMA
DMA_InitTypeDef DMA_csh;
ADC_InitTypeDef ADC_csh;
TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
NVIC_InitTypeDef NVIC_InitStructure;
DMA_DeInit(DMA1_Channel1);          //DMA复位,通道1
DMA_csh.DMA_PeripheralBaseAddr = ADC1_DR_Address;  //ADC1地址
DMA_csh.DMA_MemoryBaseAddr = (unsigned int)ADCConvertedValue;  //内存地址
DMA_csh.DMA_DIR = DMA_DIR_PeripheralSRC;  
DMA_csh.DMA_BufferSize = SAMPDEPTH;         //缓冲大小为采样深度
DMA_csh.DMA_PeripheralInc = DMA_PeripheralInc_Disable;  //外设地址固定
DMA_csh.DMA_MemoryInc = DMA_MemoryInc_Enable;    //内存地址自增
DMA_csh.DMA_PeripheralDataSize = DMA_PeripheralDataSize_HalfWord;  
DMA_csh.DMA_MemoryDataSize = DMA_MemoryDataSize_HalfWord;
DMA_csh.DMA_Mode = DMA_Mode_Circular;       //循环传输
DMA_csh.DMA_Priority = DMA_Priority_High;      //DMA优先级高
DMA_csh.DMA_M2M = DMA_M2M_Disable;
DMA_Init(DMA1_Channel1,&DMA_csh);        //写入DMA1配置参数
DMA_Cmd(DMA1_Channel1,ENABLE);          //使能DMA1通道1
DMA_ITConfig(DMA1_Channel1,DMA_IT_TC,ENABLE);   //使能DMA CH1中断
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1);
NVIC_InitStructure.NVIC_IRQChannel = DMA1_Channel1_IRQn;
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1;
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1;
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
NVIC_Init(&NVIC_InitStructure);


------------------------------------------*/
void DMA1_Channel1_IRQHandler()
{

    DMA_ClearFlag(DMA1_FLAG_TC1); //清除DMA传输完成中断
   TIM_Cmd(TIM3,DISABLE);  //关闭TIM3
}
附程序


示波器实验.rar

368.76 KB, 下载次数: 454

附程序

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

使用道具 举报

27

主题

143

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
1243
金钱
1243
注册时间
2016-1-23
在线时间
487 小时
 楼主| 发表于 2021-3-23 23:13:42 | 显示全部楼层
           一般的开关电源的开关频率在20khz~500khz之间,逆变类多在18khz~75khz之间,这STM32F103示波器能观看的被测信号与采样率为1:50。
AD采集率1m,被测信号最高能观看的就20khz

波形显示:
                刷底色
                画栅格
                画波形线
                显示字符
这样的方式屏幕会闪烁
IMG20210323223349.jpg
IMG20210323223300.jpg
IMG20210323213746.jpg

STM32F103RB汉字TRGO触发ADC同步采集波形显示1.rar

1020.63 KB, 下载次数: 29

回复 支持 1 反对 0

使用道具 举报

22

主题

103

帖子

0

精华

高级会员

Rank: 4

积分
950
金钱
950
注册时间
2017-2-23
在线时间
205 小时
发表于 2017-3-6 10:30:21 | 显示全部楼层
感谢分享
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-5-29 06:47

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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