目录1.连接2.adc配置3.主函数1.连接2.adc配置#include"adc.h"#include"delay.h" //初始化ADCvoidAdc_Init(void){ /*定义两个初始化要用的结构体,下面给每个结构体成员赋值*/ ADC_InitTypeDefADC_InitStructure; GPIO_InitTypeDefGPIO_InitStructure; /* 使能GPIOA和ADC1通道时钟 注意:除了RCC_APB2PeriphClockCmd还有RCC_APB1PeriphClockCmd,那么该如何选择?APB2:高速时钟,最高72MHz,主要负责AD输入,
F1C200S/F1C100S修改U-BOOT调试串口为UART1(PD3,PD4)此处用的uboot是荔枝派nano的可以从荔枝派的仓库拉取修改好的在这看数据手册查看串口挂载总线查看数据手册根据总线图可以看出串口是挂载在APB总线上面的找到总线时钟设置部分使能UART1控制器时钟原本以为要改这,但是后来发现不需要修改。。。设置GPIO引脚复用功能直接pdf搜索要设置的引脚,找到寄存器可以看到是gpio基地址+0x068偏移地址这个寄存器的第[14:12]位与[18:16]位都是写011也就是十进制3(这个十进制数后面要用)可以看一下原来串口0的引脚配置是写101也就是5分析uboot串口初始
使用python的plot绘制网络训练过程中的的loss曲线以及准确率变化曲线,这里的主要思想就时先把想要的损失值以及准确率值保存下来,保存到.txt文件中,待网络训练结束,我们再拿这存储的数据绘制各种曲线。其大致步骤为:数据读取与存储->loss曲线绘制->准确率曲线绘制一、数据读取与存储部分我们首先要得到训练时的数据,以损失值为例,网络每迭代一次都会产生相应的loss,那么我们就把每一次的损失值都存储下来,存储到列表,保存到.txt文件中。1.3817585706710815,1.8422836065292358,1.1619832515716553,0.5217241644859314,
一、stm32f1定时器简介1.1、定时器分类STM32共11个定时器,2个高级控制定时器TIM1和TIM8,4个通用定时器TIM2~TIM5,两个基本定时器TIM6和TIM7,两个看门狗定时器和一个系统滴答定时器Systick.高级定时器TIM1和TIM8的时钟由APB1产生,其它六个通用定时器的时钟由APB2产生。它们的最大频率都可以配置成系统时钟的频率。定时器种类位数计数模式捕获/比较通道应用场景通用定时器TIM2~TIM516向上,向下,双向4定时计数,PWM,输入捕获,输出比较高级定时器TIM1和TIM816向上,向下,双向4定时计数,PWM,输入捕获,输出比较基本定时器TIM6和T
[Unity实战][C#实战]HybridCLR卧龙C#热更框架v2.0.x-Unity2020.3.21f11.官方文档2.无缝简单接入2.1安装unity2020.3.21f12.2安装HybridCLR2.3加入测试的代码2.4HybridCLR->CompileDll3.简单测试热更dll的效果4.Github5.TODO-Assetbundles/安卓下载+替换热更dll实现完全热更1.官方文档官网介绍HybridCLR(代号wolong)是一个特性完整、零成本、高性能、低内存的近乎完美的Unity全平台原生c#热更方案。HybridCLR扩充了il2cpp的代码,使它由纯AOT(o
目录一、bootloader、kernel、rootfs联系二、内核移植1.内核源码获取2.内核配置与编译🍍基础配置与编译🍍TF卡分区🍍内核烧录三、参考内容一、bootloader、kernel、rootfs联系kernel可以理解为一个庞大的裸机程序,和uboot以及其他比如点灯类似的裸机程序没有本质区别,只是kernel分为用户态和内核态,内存和设备操作与裸机程序不同。kernel是最底层,负责各种外设硬件的驱动,kernel类似于黑盒子,从外面只能看到接口,无法看到具体功能是如何实现的,内核初始化提供的接口后,将控制权通过init程序交给根文件系统。详见:一文讲解Linux内核中根文件系
前一段时间做了一个自动追光云台(大家感兴趣的也可以自己DIY一个呀),用来自动捕捉阳光供太阳板发电提高太阳板的发电效率,我用了一款STM32f103c8t6为主控来控制云台舵机的旋转。感光元器件使用的是光敏传感器(淘宝随便买一款啊很便宜)来感知光强,所以用ADC进行模拟量采集光强信息。下面就来介绍介绍它吧!舵机旋转的控制舵机的主要组成部分为伺服电机,伺服就是服从信号的要求从而做出相应动作。在信号发出之前,电机停止不动;信号发出之后,电机立即做旋转运动。因此我们就可以给舵机输入不同的信号,来控制其旋转到不同的角度。舵机接收的是PWM信号,当信号进入内部电路产生一个偏置电压,触发电机通过减速齿轮带
文章目录推荐阅读前言混淆矩阵简介二分类混淆矩阵一级指标二级指标准确率(Accuracy)精确率(Precision)召回率(Recall)特异度(Specificity)三级指标(F-score)F1-score多分类混淆矩阵准确率(Accuracy)精确率(Precision)召回率(Recall)特异度(Specificity)F1-score示例与代码实现step1:统计混淆矩阵step2:计算二级指标准确率(Accuracy)精确率(Precision)召回率(Recall)step3:计算F1-score完整代码使用sklearn对比计算结果是否正确结果对比推荐阅读参考文章4.4.2
文章目录推荐阅读前言混淆矩阵简介二分类混淆矩阵一级指标二级指标准确率(Accuracy)精确率(Precision)召回率(Recall)特异度(Specificity)三级指标(F-score)F1-score多分类混淆矩阵准确率(Accuracy)精确率(Precision)召回率(Recall)特异度(Specificity)F1-score示例与代码实现step1:统计混淆矩阵step2:计算二级指标准确率(Accuracy)精确率(Precision)召回率(Recall)step3:计算F1-score完整代码使用sklearn对比计算结果是否正确结果对比推荐阅读参考文章4.4.2
准备ffmepeg4.4一段H264的视频文件一段acc格式的音频文件封装流程1.使用avformat_open_input分别打开视频和音频文件,初始化其AVFormatContext,使用avformat_find_stream_info获取编码器基本信息2.使用avformat_alloc_output_context2初始化输出的AVFormatContext结构3.使用函数avformat_new_stream给输出的AVFormatContext结构创建音频和视频流,使用avcodec_parameters_copy方法将音视频的编码参数拷贝到新创建的对应的流的codecpar结构