您尚未登录。

#1 Re: ST/STM8/STM8S/STM8L » 合宙Air001定时器对DMA传输有影响,请教一下大佬们有没有遇到过【已解决】 » 2024-04-02 00:31:22

skrlaoshiren 说:

看样子是忘了清除TIM1中断标志,导致一直卡在TIM1中断里,从而TIM3中断无法正常处理

按道理定时器中断不应该会影响到DMA传输,以前用其他芯片没有遇到这么奇怪的问题。
经过反复大量测试,这个芯片还是存在一些其他的坑,及时止损,我已经把这个项目停了,赶紧换其他芯片,先给大家试试水。

#2 Re: ST/STM8/STM8S/STM8L » 合宙Air001定时器对DMA传输有影响,请教一下大佬们有没有遇到过【已解决】 » 2024-03-29 23:05:28

来来来,结帖,问题找到了,附上新的代码
timer1.c

#include "timer1.h"
#include "air001xx_ll_tim.h"
#include "air001xx_ll_bus.h"
#include "air001xx_ll_gpio.h"
#include "air001xx_ll_rcc.h"
#include "led.h"

void pwm_gpio_config(void)
{
    LL_IOP_GRP1_EnableClock(LL_IOP_GRP1_PERIPH_GPIOA);

    LL_GPIO_InitTypeDef GPIO_InitStruct = {0};
    GPIO_InitStruct.Pin = LL_GPIO_PIN_0;
    GPIO_InitStruct.Mode = LL_GPIO_MODE_ALTERNATE;
    GPIO_InitStruct.Alternate = LL_GPIO_AF13_TIM1;
    GPIO_InitStruct.Speed = LL_GPIO_SPEED_FREQ_HIGH;
    GPIO_InitStruct.OutputType = LL_GPIO_OUTPUT_PUSHPULL;
    GPIO_InitStruct.Pull = LL_GPIO_PULL_NO;
    LL_GPIO_Init(GPIOA, &GPIO_InitStruct);
}

void timer1_ch3_config(void)
{
    LL_APB1_GRP2_EnableClock(LL_APB1_GRP2_PERIPH_TIM1);
    LL_TIM_InitTypeDef TIM_InitStruct = {0};
    LL_TIM_StructInit(&TIM_InitStruct);
    TIM_InitStruct.Prescaler = 48-1;
    TIM_InitStruct.CounterMode = LL_TIM_COUNTERMODE_UP;
    TIM_InitStruct.Autoreload = 1000-1;
    TIM_InitStruct.ClockDivision = LL_TIM_CLOCKDIVISION_DIV1;

    LL_TIM_Init(TIM1, &TIM_InitStruct);
		NVIC_EnableIRQ(TIM1_BRK_UP_TRG_COM_IRQn);
		NVIC_SetPriority(TIM1_BRK_UP_TRG_COM_IRQn,1);
		LL_TIM_ClearFlag_UPDATE(TIM1);
		LL_TIM_EnableIT_UPDATE(TIM1);
    LL_TIM_EnableCounter(TIM1);
}

static uint32_t counter= 0;
void TIM1_BRK_UP_TRG_COM_IRQHandler(void)
{
	if(LL_TIM_IsActiveFlag_UPDATE(TIM1))
	{
		LL_TIM_ClearFlag_UPDATE(TIM1);
		counter++;
		if(counter >= 500)
		{
			counter = 0;
			led_toggle();
		}
	}
}

#3 Re: ST/STM8/STM8S/STM8L » 合宙Air001定时器对DMA传输有影响,请教一下大佬们有没有遇到过【已解决】 » 2024-03-29 22:25:51

以前用其他单片机没遇到这种问题,新出来的单片机还是慎用啊,这次疏忽了(能力问题)

#5 Re: ST/STM8/STM8S/STM8L » 合宙Air001定时器对DMA传输有影响,请教一下大佬们有没有遇到过【已解决】 » 2024-03-29 21:34:22

主频48M,本来想用SPI+DMA的方式,结果分频到不了8M,所以就用DMA+PWM的方式驱动,虽然浪费内存

#6 Re: ST/STM8/STM8S/STM8L » 合宙Air001定时器对DMA传输有影响,请教一下大佬们有没有遇到过【已解决】 » 2024-03-29 21:29:21

timer3.c内容

#include "main.h"
#include "timer3.h"
#include "air001xx_ll_tim.h"
#include "air001xx_ll_bus.h"
#include "air001xx_ll_gpio.h"
#include "air001xx_ll_rcc.h"
#include "air001xx_ll_dma.h"
#include "led.h"

#define TIM_ARR_VALUE (60-1)

void timer3_ch2_gpio_init(void)
{
    LL_IOP_GRP1_EnableClock(LL_IOP_GRP1_PERIPH_GPIOA);

    LL_GPIO_InitTypeDef GPIO_InitStruct = {0};
    GPIO_InitStruct.Pin = LL_GPIO_PIN_7;
    GPIO_InitStruct.Mode = LL_GPIO_MODE_ALTERNATE;
    GPIO_InitStruct.Alternate = LL_GPIO_AF1_TIM3;
    GPIO_InitStruct.Speed = LL_GPIO_SPEED_FREQ_HIGH;
    GPIO_InitStruct.OutputType = LL_GPIO_OUTPUT_PUSHPULL;
    GPIO_InitStruct.Pull = LL_GPIO_PULL_NO;
    LL_GPIO_Init(GPIOA, &GPIO_InitStruct);
}

void timer3_ch2_init(void)
{
    LL_APB1_GRP1_EnableClock(LL_APB1_GRP1_PERIPH_TIM3);
    LL_TIM_InitTypeDef TIM_InitStruct = {0};
    LL_TIM_StructInit(&TIM_InitStruct);
    TIM_InitStruct.Prescaler = 0;
    TIM_InitStruct.CounterMode = LL_TIM_COUNTERMODE_UP;
    TIM_InitStruct.Autoreload = TIM_ARR_VALUE;//周期
    TIM_InitStruct.ClockDivision = LL_TIM_CLOCKDIVISION_DIV1;//

    LL_TIM_Init(TIM3, &TIM_InitStruct);

    LL_TIM_OC_InitTypeDef TIM_OC_InitStruct = {0};
    LL_TIM_OC_StructInit(&TIM_OC_InitStruct);
    TIM_OC_InitStruct.OCMode = LL_TIM_OCMODE_PWM1;
    TIM_OC_InitStruct.OCState = LL_TIM_OCSTATE_ENABLE;
    TIM_OC_InitStruct.CompareValue = 0;
    TIM_OC_InitStruct.OCPolarity = LL_TIM_OCPOLARITY_HIGH;
    LL_TIM_OC_Init(TIM3, LL_TIM_CHANNEL_CH2, &TIM_OC_InitStruct);

	LL_TIM_EnableARRPreload(TIM3);
    LL_TIM_EnableDMAReq_UPDATE(TIM3);
    LL_TIM_CC_SetDMAReqTrigger(TIM3,LL_TIM_CCDMAREQUEST_UPDATE);
}

//16位定时器
static uint16_t dma_buffer[128]= {0};


void timer3_dma_config(void)
{
    LL_DMA_InitTypeDef dma_initstruct;

    /* 使能DMA时钟 */
    LL_AHB1_GRP1_EnableClock(LL_AHB1_GRP1_PERIPH_DMA1);
    LL_APB1_GRP2_EnableClock(LL_APB1_GRP2_PERIPH_SYSCFG);

    LL_SYSCFG_SetDMARemap_CH1(LL_SYSCFG_DMA_MAP_TIM3_UP);

    /* 配置DMA功能参数 */
    dma_initstruct.PeriphOrM2MSrcAddress  = (uint32_t)&(TIM3->CCR2);           /* ????? */
    dma_initstruct.MemoryOrM2MDstAddress  = (uint32_t)dma_buffer;                 /* ?????? */
    dma_initstruct.Direction              = LL_DMA_DIRECTION_MEMORY_TO_PERIPH;      /* M2M ?? */
    dma_initstruct.Mode                   = LL_DMA_MODE_NORMAL;                     /* DMA?????? */
    dma_initstruct.PeriphOrM2MSrcIncMode  = LL_DMA_PERIPH_NOINCREMENT;                /* ?????????? */
    dma_initstruct.MemoryOrM2MDstIncMode  = LL_DMA_MEMORY_INCREMENT;                /* ??????????? */
    dma_initstruct.PeriphOrM2MSrcDataSize = LL_DMA_PDATAALIGN_HALFWORD;                 /* ???????32? */
    dma_initstruct.MemoryOrM2MDstDataSize = LL_DMA_MDATAALIGN_HALFWORD;                 /* ????????32? */
    dma_initstruct.NbData                 = 0x00000000U;
    dma_initstruct.Priority               = LL_DMA_PRIORITY_VERYHIGH;                   /* ??????? */
    /* ???DMA */
    if (LL_DMA_Init(DMA1, LL_DMA_CHANNEL_1, &dma_initstruct) != SUCCESS)
    {
        Error_Handler();
    }
}


void timer3_dma_send_data(uint16_t *pbuf,uint16_t len)
{
    LL_DMA_SetMemoryAddress(DMA1,LL_DMA_CHANNEL_1,(uint32_t)pbuf);
    LL_DMA_SetDataLength(DMA1, LL_DMA_CHANNEL_1, len);
    LL_DMA_EnableChannel(DMA1, LL_DMA_CHANNEL_1);
    LL_TIM_SetCounter(TIM3,TIM_ARR_VALUE);
    LL_TIM_EnableCounter(TIM3);
    while(!LL_DMA_IsActiveFlag_TC1(DMA1));
    LL_TIM_DisableCounter(TIM3);
    LL_DMA_DisableChannel(DMA1, LL_DMA_CHANNEL_1);
    LL_DMA_ClearFlag_TC1(DMA1);
}


static uint32_t counter= 0;
void TIM3_IRQHandler(void)
{
    counter++;
    if(counter >= 500000)
    {
        counter = 0;
        led_toggle();
    }
}

void DMA1_Channel1_IRQHandler(void)
{
    if(LL_DMA_IsActiveFlag_TC1(DMA1) == 1)
    {
        LL_DMA_ClearFlag_GI1(DMA1);
    }
    else if(LL_DMA_IsActiveFlag_TE1(DMA1) == 1)
    {
    }
}

timer1.c内容

#include "timer1.h"
#include "air001xx_ll_tim.h"
#include "air001xx_ll_bus.h"
#include "air001xx_ll_gpio.h"
#include "air001xx_ll_rcc.h"
#include "led.h"

void pwm_gpio_config(void)
{
    LL_IOP_GRP1_EnableClock(LL_IOP_GRP1_PERIPH_GPIOA);

    LL_GPIO_InitTypeDef GPIO_InitStruct = {0};
    GPIO_InitStruct.Pin = LL_GPIO_PIN_0;
    GPIO_InitStruct.Mode = LL_GPIO_MODE_ALTERNATE;
    GPIO_InitStruct.Alternate = LL_GPIO_AF13_TIM1;
    GPIO_InitStruct.Speed = LL_GPIO_SPEED_FREQ_HIGH;
    GPIO_InitStruct.OutputType = LL_GPIO_OUTPUT_PUSHPULL;
    GPIO_InitStruct.Pull = LL_GPIO_PULL_NO;
    LL_GPIO_Init(GPIOA, &GPIO_InitStruct);
}

void timer1_ch3_config(void)
{
    LL_APB1_GRP2_EnableClock(LL_APB1_GRP2_PERIPH_TIM1);
    LL_TIM_InitTypeDef TIM_InitStruct = {0};
    LL_TIM_StructInit(&TIM_InitStruct);
    TIM_InitStruct.Prescaler = 48-1;
    TIM_InitStruct.CounterMode = LL_TIM_COUNTERMODE_UP;
    TIM_InitStruct.Autoreload = 1000-1;
    TIM_InitStruct.ClockDivision = LL_TIM_CLOCKDIVISION_DIV1;

    LL_TIM_Init(TIM1, &TIM_InitStruct);
		NVIC_EnableIRQ(TIM1_BRK_UP_TRG_COM_IRQn);
		LL_TIM_EnableIT_UPDATE(TIM1);
    LL_TIM_EnableCounter(TIM1);
}

static uint32_t counter= 0;
void TIM1_BRK_UP_TRG_COM_IRQHandler(void)
{
	counter++;
	if(counter >= 500000)
	{
		counter = 0;
		led_toggle();
	}
}

#7 ST/STM8/STM8S/STM8L » 合宙Air001定时器对DMA传输有影响,请教一下大佬们有没有遇到过【已解决】 » 2024-03-29 21:27:49

hzqlz
回复: 7

问题描述如下:
我要驱动大约30个WS2812灯珠,通过TIM3+DMA的方式已经正常点亮灯珠,现在我初始化TIM1,通过指示灯闪烁可以看到定时器1正常跑起来了。
现在把TIM3+DMA和TIM1一起跑的时候,TIM1正常跑,DMA却熄火了,有点奇怪,请教各位大佬有什么解决办法,谢谢!

#8 Re: ESP32/ESP8266 » 遇到一个很奇怪的问题,调用atof函数,第一次解析的数据居然为0,有大佬遇到过吗? » 2024-01-30 14:49:45

感谢各位大佬,这个问题我通过其他方式避开了,初步估计是SDK底层的问题

#9 Re: ESP32/ESP8266 » 遇到一个很奇怪的问题,调用atof函数,第一次解析的数据居然为0,有大佬遇到过吗? » 2024-01-30 14:48:52

paul_zdchun 说:

第一次不对,以后就正常?

是啊,以前用这个函数从来没有出过问题,在WIFI模块上掉用这个函数就出了问题

#10 Re: ESP32/ESP8266 » 遇到一个很奇怪的问题,调用atof函数,第一次解析的数据居然为0,有大佬遇到过吗? » 2024-01-30 14:48:13

nTliang 说:

楼主的SDK在哪里下载的?

这个是移远WIFI模块的SDK,他们也没测出来,所以在坛子里向各位大佬请教一下

#11 Re: ESP32/ESP8266 » 遇到一个很奇怪的问题,调用atof函数,第一次解析的数据居然为0,有大佬遇到过吗? » 2024-01-30 14:46:20

jxmlegend 说:

是不是超出float类型数据范围,用double试试

实际使用的类型也是double

#12 Re: ESP32/ESP8266 » 遇到一个很奇怪的问题,调用atof函数,第一次解析的数据居然为0,有大佬遇到过吗? » 2024-01-21 14:27:40

海石生风 说:

现在都流行提问说一半不说一半让大家猜谜吗?

atof("000000003.1")的结果为0

#13 ESP32/ESP8266 » 遇到一个很奇怪的问题,调用atof函数,第一次解析的数据居然为0,有大佬遇到过吗? » 2024-01-20 22:04:22

hzqlz
回复: 10

我使用的是BK7231N的SDK,因为坑网没有对应的板块,就在同是WIFI模块的ESP32/ESP8266板块发个帖求助,以下是日志截图,第一次会出现转换结果为0的情况,后面就正常了。
_20240120220132.png

#14 Re: 全志 SOC » 芯灵思SIN-V3s光盘资料 分享 (带SPI NAND启动以及QT) » 2023-12-29 13:38:59

haistart 说:

@hzqlz
这个分享没有镜像和源码等大文件。

抱歉,我只有这个资料

#18 Re: 全志 SOC » 在MQ-R(F133)上 进行全志Melis-4.0(rt-thread内核)环境搭建与初步编译介绍 (转载) » 2023-02-07 20:59:43

使用PhoenixSuit能烧录不?我用芒果派的MQ,无法烧录,麻烦大佬提点一下

#19 ESP32/ESP8266 » 【求助】ESP32-S2 通过socket发送数据提示wifi: m f null,然后就停止发送数据 » 2022-09-30 13:45:47

hzqlz
回复: 0

各位巨佬,请教一个问题,ESP32-S2通过socket发送数据,过一会儿提示wifi: m f null,有大佬能帮忙解答一下吗_20220930135338.png

#20 Re: 全志 SOC » V3s这么强显示能力, 不搞个示波器可惜了,接什么ADC好呢? » 2022-08-23 00:09:21

安富莱的H7-TOOL用的STM32,感觉效果很不错啊,想DIY一个

#21 Re: 全志 SOC » 芯灵思SIN-V3s光盘资料 分享 (带SPI NAND启动以及QT) » 2022-05-09 15:28:50

jinlong631 说:
hzqlz 说:

我来补个链接
链接: https://pan.baidu.com/s/1ZMdeVF56wABmGKvq4BSDxA
提取码:ueab

您好 可以重新分享下吗?已经失效了。

来来来,换一个链接

「芯灵思SIN-V3s光盘资料」
https://www.aliyundrive.com/s/2Jxcu1xfuDS
提取码: 86bq
点击链接保存,或者复制本段内容,打开「阿里云盘」APP ,无需下载极速在线查看,视频原画倍速播放。

#22 Re: 全志 SOC » 全志V3s采用UDP视频传输H264效果很好 » 2021-11-24 13:16:13

效果很不错,从屏幕中,我看到了一张帅气的脸

#23 Re: 全志 SOC » 一个迟到的高性价比开发板!芯灵思SIN-V3S! » 2021-11-24 12:47:43

分享一下资料
链接:https://pan.baidu.com/s/1ZMdeVF56wABmGKvq4BSDxA
提取码:ueab

#24 Re: 全志 SOC » 芯灵思SIN-V3s光盘资料,谁能再分享一下?谢谢 » 2021-11-24 12:47:23

我来补个链接
链接:https://pan.baidu.com/s/1ZMdeVF56wABmGKvq4BSDxA
提取码:ueab

#26 Re: 全志 SOC » 哪个大哥有芯灵思v3s的光盘资料 » 2021-11-24 12:46:44

我来补个链接
链接:https://pan.baidu.com/s/1ZMdeVF56wABmGKvq4BSDxA
提取码:ueab

#27 Re: 计算机图形/GUI/RTOS/FileSystem/OpenGL/DirectX/SDL2 » lvgl显示单色控件,很多控件无法显示,有什么需要特别注意的地方吗? » 2021-09-25 15:26:35

@0x7c00 感谢大佬建议,感谢晕哥提供平台支持,问题已解决!是样式的问题
一、ARC控件测试代码(彩色主题)

//创建一个屏幕对象
lv_obj_t* scr = lv_obj_create(lv_scr_act());
lv_obj_set_size(scr, 390, 390);
lv_obj_set_style_bg_color(scr, lv_color_white(), LV_PART_MAIN);
lv_obj_set_style_border_color(scr, lv_color_black(), LV_PART_MAIN);

//创建一个arc对象
lv_obj_t* arc_progress = lv_arc_create(scr);
//背景设置
static lv_style_t style_bg;
lv_style_init(&style_bg);
//lv_style_reset(&style_bg);
lv_style_set_bg_color(&style_bg,lv_color_make(0x00, 0x00, 0xff));//设置背景颜色
lv_style_set_bg_opa(&style_bg, LV_OPA_COVER);//设置背景透明度
lv_style_set_bg_grad_color(&style_bg,lv_color_make(0x24, 0xf9, 0xcf));//设置渐变颜色
lv_style_set_bg_grad_dir(&style_bg, LV_GRAD_DIR_VER);//设置渐变方向

lv_style_set_border_opa(&style_bg, LV_OPA_COVER);//设置边框透明度;
lv_style_set_border_width(&style_bg, 3);//设置边框宽度
lv_style_set_border_color(&style_bg, lv_color_make(0, 255, 0));//设置边框颜色
lv_obj_set_style_arc_rounded(arc_progress, true, LV_PART_INDICATOR);

//enum lv_arc_draw_part_type_t
lv_obj_add_style(arc_progress, &style_bg, LV_PART_MAIN);//设置背景样式
lv_obj_set_style_arc_width(arc_progress, 40, LV_PART_MAIN);//设置背景ARC宽度
lv_style_set_arc_color(&style_bg, lv_color_make(255, 0, 0));//设置ARC背景颜色

//去掉圆点
lv_obj_remove_style(arc_progress, NULL, LV_PART_KNOB);
 
static lv_style_t arc_style_ind;
//lv_style_reset(&style_blue);
lv_style_init(&arc_style_ind);
lv_style_set_arc_color(&arc_style_ind, lv_color_make(255, 255, 0));
lv_obj_set_style_arc_width(arc_progress, 60, LV_PART_INDICATOR);//设置前景ARC宽度
lv_obj_add_style(arc_progress, &arc_style_ind, LV_PART_INDICATOR);//设置Indicator样式

lv_arc_set_bg_angles(arc_progress, 0, 360);
lv_obj_align(arc_progress, LV_ALIGN_CENTER, 0, 0);
lv_arc_set_angles(arc_progress, 0, 270);
lv_obj_set_size(arc_progress, 300, 300);


测试效果如下:

_ªå_¾_20210924173151.png
 

二、ARC测试代码(单色主题)
打开lv_conf.h,将宏定义LV_COLOR_DEPTH设为1

   lv_theme_t* th;
   lv_disp_t *lv_disp;
   lv_disp = lv_disp_get_default();
   lv_disp_set_bg_color(lv_disp, lv_color_white());
   th = lv_theme_mono_init(lv_disp, false, LV_FONT_DEFAULT);
   lv_disp_set_theme(lv_disp, th);

   //创建一个屏幕对象
   lv_obj_t* scr = lv_obj_create(lv_scr_act());
   lv_obj_set_size(scr, 390, 390);
   lv_obj_set_style_bg_color(scr, lv_color_white(), LV_PART_MAIN);
   lv_obj_set_style_border_color(scr, lv_color_black(), LV_PART_MAIN);

   //创建一个arc对象
   lv_obj_t* arc_progress = lv_arc_create(scr);

   //背景设置
   static lv_style_t style_bg;
   lv_style_init(&style_bg);
   //lv_style_reset(&style_bg);
   lv_style_set_bg_color(&style_bg,lv_color_make(0xff, 0xff, 0xff));//设置背景全白
   lv_style_set_bg_opa(&style_bg, LV_OPA_COVER);//设置背景透明度
   lv_style_set_bg_grad_color(&style_bg,lv_color_make(0xff, 0xff, 0xff));//设置渐变颜色
   lv_style_set_bg_grad_dir(&style_bg, LV_GRAD_DIR_VER);//设置渐变方向

   lv_style_set_border_opa(&style_bg, LV_OPA_COVER);//设置边框透明度;
   lv_style_set_border_width(&style_bg, 3);//设置边框宽度
   lv_style_set_border_color(&style_bg, lv_color_make(0, 0, 0));//设置边框颜色
   lv_obj_set_style_arc_rounded(arc_progress, true, LV_PART_INDICATOR);

   //enum lv_arc_draw_part_type_t
   lv_obj_add_style(arc_progress, &style_bg, LV_PART_MAIN);//设置背景样式
   lv_obj_set_style_arc_width(arc_progress, 40, LV_PART_MAIN);//设置背景ARC宽度
   lv_style_set_arc_color(&style_bg, lv_color_make(255, 0xff, 0xff));//设置ARC背景颜色

   //去掉圆点
   lv_obj_remove_style(arc_progress, NULL, LV_PART_KNOB);

   static lv_style_t arc_style_ind;
   //lv_style_reset(&style_blue);
   lv_style_init(&arc_style_ind);
   lv_style_set_arc_color(&arc_style_ind, lv_color_make(0, 0, 0));
   lv_obj_set_style_arc_width(arc_progress, 60, LV_PART_INDICATOR);//设置前景ARC宽度
   lv_obj_add_style(arc_progress, &arc_style_ind, LV_PART_INDICATOR);//设置Indicator样式
   
   lv_arc_set_bg_angles(arc_progress, 0, 360);
   lv_obj_align(arc_progress, LV_ALIGN_CENTER, 0, 0);
   lv_arc_set_angles(arc_progress, 0, 270);
   lv_obj_set_size(arc_progress, 300, 300);

效果如下:
7911f3fe-40e0-44df-84d7-9fd9585965d5.png

#28 计算机图形/GUI/RTOS/FileSystem/OpenGL/DirectX/SDL2 » lvgl显示单色控件,很多控件无法显示,有什么需要特别注意的地方吗? » 2021-09-23 14:32:12

hzqlz
回复: 6

各位大佬,请教一下,我使用vs模拟器调试lvgl,版本是8.1.0。因为要用到单色屏幕,我将LV_COLOR_DEPTH改为1之后发现很多控件无法显示了,请问有什么特别注意的地方吗?

对比如下:
pic1111.png

pic2222222.png

#30 ESP32/ESP8266 » 平头哥TG7100C的ADC测试不太正常,有大佬玩过吗? » 2021-04-09 16:30:06

hzqlz
回复: 0

根据提供的adc相关接口,我做了一些测试,但是发现采集到的数据是乱的,ADC使用的是IO5,代码如下:

#define ADC1_PORT_NUM	(4)

adc_dev_t mic_adc = 
{    
	ADC1_PORT_NUM,    
	{0,1000},    
	NULL,
};

uint8_t adc_buffer[10];

void mic_adc_cb(adc_event_t event, void *data, uint32_t size)
{
    int i;

    printf("evnet:%d\r\n", event);
    if (NULL != data) {
        for (i = 0; i < size; i++) {
            printf("adc_data:%u\r\n", ((uint16_t *)data)[i]);
        }
    }
}


void mic_adc_task(void* p)
{
    uint32_t adc_value;
    while(1)
    {
	hal_adc_value_get(&mic_adc,&adc_value,HAL_WAIT_FOREVER);
	printf("adc:%d\n",adc_value);
        aos_msleep(30);
    }
}

void mic_adc_init(void)
{
	int ret = -1;
	ret = hal_adc_init(NULL);
	ret = hal_adc_init(&mic_adc);
	if(ret != 0)
	{
		printf("adc init err\n");
	}
	ret = hal_adc_start(&mic_adc, adc_buffer, 1);
	aos_task_new("adc_task",mic_adc_task,NULL,1024);
}

ADC输入端的变化很小,结果打印日志如下

adc:746
adc:275
adc:313
adc:2514
adc:302
adc:374
adc:1578
adc:886
adc:898
adc:250
adc:414
adc:2811
adc:1347
adc:2147
adc:1595
adc:1616
adc:261
adc:263
adc:255
adc:1799
adc:1749
adc:329
adc:1318
adc:267
adc:1123
adc:977
adc:268
adc:454
adc:412
adc:1910
adc:994
adc:1565
adc:268
adc:914
adc:1962
adc:247
adc:2760
adc:459
adc:268
adc:1123
adc:3998
adc:1095
adc:2928
adc:1406
adc:257
adc:1766
adc:2557
adc:366
adc:2929
adc:356
adc:376

采用查询的方式,麻烦帮忙看看,非常感谢!

#32 Re: Cortex M0/M3/M4/M7 » RK2108 » 2021-03-13 16:07:39

价格和资料是否都好?

#37 8051/STC8/AT89C51/N76E003 » 51单片机bootloader[转] » 2021-03-13 09:16:21

hzqlz
回复: 1

这是某论坛收费之前用朋友的收费账号扒下来的,如有用到可以参考一下
51bootloader.rar.rar

#38 Re: 全志 SOC » 发一分全志 视频解码库 API 手册。 » 2021-03-12 14:02:14

novice 说:

这个视频操作库是必须在linux上用还是可以裸机用的?

楼主说分享,但是没看到文档,我就去找了一下,还没用过

#39 Re: 全志 SOC » 发一分全志 视频解码库 API 手册。 » 2021-03-11 17:53:56

心情复杂 说:

感觉楼主分享

不是要感谢我的吗:lol

#44 Re: 计算机图形/GUI/RTOS/FileSystem/OpenGL/DirectX/SDL2 » NXP出了个LVGL界面设计器 ---- Gui-Guider-Setup-1.0.0-GA.exe » 2021-02-09 16:47:43

伍零壹 说:

自己写一个类似这样的上位机需要具备哪些姿势?(不需要很复杂的功能,就是实现拖拽生成C代码)
菜鸟提问!

可以参考一下 LVGLBuilder

#48 Re: 全志 SOC » 跟贴从零构建f1c200s硬件开发板 » 2021-01-26 10:33:04

fastspeet 说:
微凉VeiLiang 说:

感谢楼主分享,话说一玩就是买一盘芯片来玩么

搞硬件的,要做不应该自己买点芯片打板练习么

壕气冲天啊

#50 Re: ST/STM8/STM8S/STM8L » keil在Misc Control中写--symdefs=BootLoad_STM32.txt导出函数Symbol失败 » 2021-01-25 22:59:12

找到原因了,我眼拙,把Misc Control填写在C/C++下了,修改一下就OK了

#51 ST/STM8/STM8S/STM8L » keil在Misc Control中写--symdefs=BootLoad_STM32.txt导出函数Symbol失败 » 2021-01-25 17:33:30

hzqlz
回复: 1

我随便拿一个工程做测试,测试之前确保工程能正常编译,按照如下步骤操作:
1.点魔术棒,在Linker下的Misc Control填写--symdefs=BootLoad_STM32.txt
options.png
2.点编译
3.没有按照预期生成BootLoad_STM32.txt,提示了如下错误
misc_control.png

有大佬知道出错的原因吗?

#52 Re: 全志 SOC » F1C100s涨价又缺货,有什么推荐的替代? » 2021-01-25 16:55:11

哇酷小二 说:

感谢 深圳市启明云端科技 友情赠送的7寸电容 4G & WIFI SSD202 开发板
http://whycan.com/t_5891.html
(出处:哇酷开发者社区)


这个据说不涨价,据说而已,涨价了别打我, (逃


这价格得多少呢

#54 Re: 全志 SOC » arm9完全学习手册 » 2021-01-21 22:07:45

rick lou 说:

因为玩f1c200s,把arm9教程再看一遍,虽然时代不同,外设不同,但内核都是arm9,希望有参考价值,同时扫描给大家
复制这段内容后打开百度网盘手机App,操作更方便哦 链接:https://pan.baidu.com/s/1HFxaqs9xkF_t--ITm6RrJQ 提取码:96l2


大佬,链接失效了

#62 DIY/综合/Arduino/写字机/3D打印机/智能小车/平衡车/四轴飞行/MQTT/物联网 » 语音播放【基于C8051F330】 » 2020-05-21 13:33:52

hzqlz
回复: 0

在M论坛搞下来的,已经买了芯片,暂未验证功能,有兴趣的可以玩玩,怕资料搞丢了,先传到坑网跟大家学习一下
DAC Audio 4Bit ADPCM.rar

#64 Re: 技术人生/软件使用技巧/破解经验/技术吐槽/灌水 » Beyond Compare 4 提示错误“这个授权密钥已被吊销”的解决办法 » 2020-05-18 16:14:55

好像有个破解的Beyond Compare4可以一直用,我不知道把安装包放哪里了,抽空找找

#65 Re: 全志 SOC » 你们口中的主线是指? » 2020-05-16 21:21:53

感谢晕哥科普,之前一直假装自己知道的样子,想问又不敢问

#70 Re: DIY/综合/Arduino/写字机/3D打印机/智能小车/平衡车/四轴飞行/MQTT/物联网 » 大家玩过热敏打印机吗?买了两个FTP-638MCL101 » 2020-05-11 14:14:07

xiaoleizii 说:

我也正在研究,蓝牙模块如何连接蓝牙热敏打印机打印,网上没有资料,哪位大佬有调试过能给指个方向吗?

有新进展我再发到这个帖子

#71 Re: DIY/综合/Arduino/写字机/3D打印机/智能小车/平衡车/四轴飞行/MQTT/物联网 » 大家玩过热敏打印机吗?买了两个FTP-638MCL101 » 2020-05-11 14:13:32

teateattt 说:

网上有个 NUC123 打印驱动板的源码,可以借鉴,翻译成arduino

感谢,我看看,不知道能不能驱的起来

#72 Re: Qt/MSVC/MINGW/C++/MFC/GTK+/Delphi/BCB » 晓奇取模软件,花了我5个黑B,气死了 » 2020-05-11 14:11:31

小智 说:

我找个一个带源码的字库,超级牛,大家可以看看,不会上传,分享下百度链接吧,
链接: 
提取码:kekc
复制这段内容后打开百度网盘手机App,操作更方便哦

感谢,我来帮忙上传一下
FontMaster.rar

#76 Re: 计算机图形/GUI/RTOS/FileSystem/OpenGL/DirectX/SDL2 » littlevgl 如何制作漂亮的指针? » 2020-04-30 22:06:25

好吧,没仔细看那个0度

达克罗德 说:

旋转0度。。他的意思是只要调API,即使旋转0度也模糊了

#77 Re: 计算机图形/GUI/RTOS/FileSystem/OpenGL/DirectX/SDL2 » littlevgl 如何制作漂亮的指针? » 2020-04-30 17:40:29

我盯着你这个图看了半个小时,实在是没看出来哪里旋转了

#79 Re: 全志 SOC » 众人拾柴-F1C200S通过SPI使用ESP8089或ESP8266做无线网卡 » 2020-04-27 00:19:29

厉害厉害,持续关注,我一直用ESP8266做开发,还没有大佬这钻研精神

#80 Re: 站务公告/网站建设 » 感觉最近帖子变水了? » 2020-04-21 17:25:27

泡在妞里的Feel 说:

这段话刚好十五个字不信你数一数

我刚刚数了,果然是15个字,厉害厉害!

#86 Re: 8051/STC8/AT89C51/N76E003 » 【求助】各位能否推荐一个占用资源比较少,支持FAT32的文件系统? » 2020-04-01 15:48:30

是啊,太狠了,估计这个项目要流产

wujique 说:

8K的ROM用SD卡?这也太极限了吧,就算用精简版,只剩4K写代码了。

#87 Re: 8051/STC8/AT89C51/N76E003 » 【求助】各位能否推荐一个占用资源比较少,支持FAT32的文件系统? » 2020-04-01 15:47:37

我假装自己是老板

myxiaonia 说:

你给老板这么抠,老板知道不?还是说你就是老板呢

#88 Re: 8051/STC8/AT89C51/N76E003 » 【求助】各位能否推荐一个占用资源比较少,支持FAT32的文件系统? » 2020-04-01 15:46:44

感谢热心网友

ippen 说:

fatfs 精简版 http://elm-chan.org/fsw/ff/00index_p.html

Features
Very small RAM consumption (44 bytes work area + certain stack).
Very small code size (2K-4K bytes).
FAT12, FAT16 and FAT32.
Single volume and Single file.
Streaming file read.
File write function with some restrictions.

#93 Re: ESP32/ESP8266 » qemu_esp32 » 2020-04-01 15:23:46

收藏先,感谢分享

#97 Re: 8051/STC8/AT89C51/N76E003 » 【求助】各位能否推荐一个占用资源比较少,支持FAT32的文件系统? » 2020-03-27 14:26:26

之前用STM32单片机,移植了这个文件系统,貌似占用资源还是比较大啊

#102 8051/STC8/AT89C51/N76E003 » 【求助】各位能否推荐一个占用资源比较少,支持FAT32的文件系统? » 2020-03-27 13:50:45

hzqlz
回复: 13

如题,我单片机资源比较少,不到1KB的RAM,大约8KB的ROM,需要外接一个SD卡,读取里面的文件,有哪一种文件系统占用资源比较少呢?

#106 Re: Cortex M0/M3/M4/M7 » 做了一个DAPLink高速版,烧录1M只需30s » 2020-01-15 17:47:36

大佬,我用网上开源的PCB做了一些DAP LINK,做了一个样品测试了一下,正常工作,带串口。但是过一段时间后,keil里提示RDDI DAP ERROR,请问这是什么原因呢?公司电脑和我自己电脑上都试了,都有这样的错误提示

#112 Re: 技术人生/软件使用技巧/破解经验/技术吐槽/灌水 » 从淘宝网购买时要小心 » 2020-01-04 16:15:41

这么执着?也就几十块钱的东西,有这时间在论坛里抱怨,还不如多花点时间做好产品,这样你可以挣更多的钱,从这点来看,你是个办事效率很低的人。我们的论坛管理员晕哥很佛系,不随便踢人,不随便删帖子,不随便删账号,你如果不想用这个论坛,不登录进来就是了。话说你们在国外是用的什么即时聊天工具进行技术交流?在我们中国有微信、QQ、钉钉等。

#116 Re: RISC-V » 【合泰触摸库分享】这是代理给的触摸库,有兴趣的一起交流一下 » 2019-12-07 15:00:13

smartcar 说:

听说很多家国产触摸芯片就是合泰芯片,打磨一个logo

一点都不好用

#119 RISC-V » 【合泰触摸库分享】这是代理给的触摸库,有兴趣的一起交流一下 » 2019-12-07 14:35:37

hzqlz
回复: 3

用的是合泰的BS83B12C,代理只给了这个库和芯片手册,其他资料没有,头大

BS83B12C_CTOUCH_V500_20171121.rar

#124 Re: DIY/综合/Arduino/写字机/3D打印机/智能小车/平衡车/四轴飞行/MQTT/物联网 » 大家玩过热敏打印机吗?买了两个FTP-638MCL101 » 2019-10-29 20:23:29

wujique 说:

玩过,在玩,精通。
pdf有用的。
机头就两个功能,加热,走纸。
走纸按照规格书的加减速表控制步进电机即可。
加热也是按照规格书说明的方法加热,比如时间,分段。

能打,很容易。
做好,不简单。

你玩的也是FTP-638MCL101?

#125 Re: DIY/综合/Arduino/写字机/3D打印机/智能小车/平衡车/四轴飞行/MQTT/物联网 » 大家玩过热敏打印机吗?买了两个FTP-638MCL101 » 2019-10-29 20:22:56

Iron 说:

刚玩过一个,ESC&POS打印控制指令,用的串口,可以用 ANSI 编码打印中英文字符串。

串口的就比较简单了

#134 Re: ESP32/ESP8266 » RTL8710大家玩过没有?我来共享一下资料 » 2019-05-24 15:28:20

smartcar 说:

M3 内核吗?

我看的资料介绍说是M4内核的

#136 ESP32/ESP8266 » RTL8710大家玩过没有?我来共享一下资料 » 2019-05-24 15:22:46

hzqlz
回复: 10

刚接触RTL8710 WIFI模组,可以在IAR编译器下开发,貌似支持调试,来尝尝鲜。网上找到一个百度网盘资料,共享一下
资料链接:https://pan.baidu.com/s/1oUozcalvD7ReXAbJ_oBcrA   提取码:652z

#137 Re: Nuvoton N32905/N32926/NUC972/N9H20/N9H26/N9H30 » N32903U1DN 板子使用, 在这里记录备忘, 以免过几天又忘记了. » 2019-05-19 08:25:22

晕哥 说:

这个板子的资料就不上传了, 毕竟他们靠这个卖钱, 不能砸人家饭碗.



新唐官方的 N32903 SDK 可以在这个QQ群 436144637 下载到资料, 约 2GB

的确,人家给我的光盘资料里的原理图都是错的,而且找他们要更新后的原理图还唧唧歪歪半天,结果还是没给,被搪塞了,垃圾开发板

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn