- 博客(79)
- 资源 (22)
- 收藏
- 关注
原创 stm32 定时器串联
NVIC_InitTypeDef NVIC_InitStructure; TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;// TIM_OCInitTypeDef TIM_OCInitStructure; RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3, ENABLE); //使能 TIMx 外设 //设置住定时器TIM3 TIM_DeInit(TIM3); TIM_TimeBas...
2022-12-05 16:07:25 526
原创 ucos2下的按键扫描程序,低耦合
接口程序 AppKey.c,根据不同的应用电路 修改这个程序//#include "includes.h"#define KEYTOTAL 3#define KeyHoldTime (OS_TICKS_PER_SEC/2)#define KeyRepTime (OS_TICKS_PER_SEC/2)#define KeyLongBit 0 #define KeyRepBit 0//按键等待时间,有些按键要求的等待确认时间比较长INT16U KeyDownDelay[]={
2022-02-26 20:04:36 484
原创 AES和DES 加解密速度比较 使用Openssl库
载入中文16*16字库 大小255K,对内容进行 1000次 加密 解密 操作发现 aes的加密时间是des的1/2 解密时间是des的3/4#include <openssl/des.h>#include <openssl/aes.h>#include <stdio.h>#include <string.h>#include <sys/time.h>void TestAES(unsigned char *pdata,int
2022-02-11 23:49:20 2318
原创 关闭输入回显 scanf
在 程序 输入密码时候 关闭 输入端的回显#include <stdio.h>#include <termios.h>int main(){ structtermiosnew_setting,init_setting; charpwd[16]; tcgetattr(0,&init_setting); new_setting=init_setting; //get termios setting and save it
2022-02-11 19:03:22 984
原创 使用 LibEvent 创建回显服务器代码
在 Ubuntu 的环境上进行编译运行,先要安装 libevent 的库,然后将生成的 软件上传到 阿里云上面,在阿里云的管理后台打开相应的端口,在客户端使用 网络调试助手 发送数据,成功回显代码如下:#include <stdio.h>#include <event.h>#include <arpa/inet.h>#include <event2/listener.h>void CliReadCb(struct bufferevent.
2022-02-06 17:28:32 1141
原创 stm32使用dma+pwm 输出正弦波
生成一个 10bit的 sin函数表 720项const INT32U sintab[]={0x0200,0x0204,0x0209,0x020d,0x0212,0x0216,0x021b,0x021f,0x0224,0x0228,0x022d,0x0231,0x0235,0x023a,0x023e,0x0243,0x0247,0x024c,0x0250,0x0254,0x0259,0x025d,0x0262,0x0266,0x026a,0x026f,0x0273,0x0277,0x027c,0x0
2021-08-05 13:35:46 4135
原创 STM32驱动无刷直流电机学习(5)--ADC电流采样
还是采用匠心科技的无刷电机套件,采样电路如下对应的 adc 的 io 是#define __ADC_MODE__ 4无刷电机学习板 采用 PA6 PA7 PC4 进行电机的电流采样先上adc采样的程序#include "includes.h"#ifndef __ADC_MODE__ #define __ADC_MODE__ 0#endif#if(__ADC_MODE__==0)#define TEST_NUM 4#endif#if(__ADC_MODE__==1 |..
2021-08-03 15:01:50 10352 1
原创 STM32驱动无刷直流电机学习(4)---PID方波控制
在原来的电机任务的基础上增加一个测量速度,修改pwm输出的任务,通过PID 转速能稳定在 设定值范围 浮动, 速度高时候 抖动比较厉害,可能跟 pid 参数有关,或者电机的性能有关,而且声音也比较大,下一步学 foc 看 会不会比较静音INT16U BLDC_PWM=0;INT32U gHallCnt=0;#define PWM_TEST (PWM_PAUSE-BLDC_PWM)void RunMotorTask(void){ INT8U hallcur,hallold=0xff...
2021-06-22 14:47:00 2965
原创 STM32驱动无刷直流电机学习(3)
根据STM32驱动无刷直流电机学习(2)测量出 霍尔和uvw 的对应关系a.电源输入3线u+ v-霍尔的三线输出 110/010就是6/2b.电源输入3线u+ w-霍尔的三线输出 011就是3c.电源输入3线v+ w-霍尔的三线输出 001就是1d.电源输入3线v+ u-霍尔的三线输出 101就是5e.电源输入3线w+ u-霍尔的三线输出 100就是4f.电源输入3线w+ v-霍尔的三线输出 110...
2021-06-21 23:34:21 2786
原创 STM32驱动无刷直流电机学习(2)
stm32 通过 IRS2101S 将驱动io 升压,再驱动N沟道MOS管IRF540NSN沟道MOS管是通过 高电平导通 低电平禁止的
2021-06-14 13:18:16 3219 6
原创 stm32 使用 TIM3 输出脉冲 TIM2 进行脉冲计数
先上 定时器 和 io 的设置#include "includes.h"#define TMRNCLK (SYSCLK)/*---- S E T T I M 3 P W M O U T P U T ----【功能】:设置 tim3 使用 pc6 pc7 pc8 pc9输出,低电平有效, 当 tim3->cnt>= pwm占空比 就输出低电平【参数】:****【返回】:****【说明】:****--------------作者:卢杰西 2021年5月
2021-05-04 13:28:45 2590
原创 在STM32CubeMx生成的代码中加入 UCOS2 记录
1.注释掉 main.c里面的main.HAL_Init.HAL_InitTick(TICK_INT_PRIORITY);因为ucos 的定时节拍是在 任务里面启动的2.注释掉stm32f1xx_it.c 里面的PendSV_Handler函数,因为ucos的汇编里面已经写了这个中断3.将抢先级的bit 设为0 , 没有中断嵌套,HAL_NVIC_SetPriorityGrouping(NVIC_PRIORITYGROUP_0);4.注释掉stm32f1xx_it.c 里面的Sys...
2021-03-17 15:22:11 433
原创 stm32 usb设备标准库的 demo 改造
在学习usb 的过程中 看 stm32 的demo, 真心觉得不好,基于状态的 逻辑分析起来忒麻烦,将我劝退了好多年!!!下定决心去啃过去,看完原理,看 stm32usb转串口的 代码,将不必要的文件 删掉,将原来的 发送一个大包的数据 经过多次中断的发送,要记住发送到那个位置 ...改装为 在 ucos 的任务里面 每发送一个小包 等待发送完毕的消息 再发送下一个小包,看起来就很舒服了,然后移植了 stm原来的 usb转串口的 demo再移植了 stm32 转ch340 串口的demo.
2021-01-29 15:43:59 467 1
原创 Stm32通过串口 Ymodem 协议接收文件
我自己做了一个 针对stm32的isp 离线编程器,设计时候 采用了 W25Q64 作为要烧录文件的存储,直接使用 Ymodem 协议,将文件下载到 flash中,免得再写一个上位机软件,在ucos2的加持下,整个代码的逻辑比较简单易懂Ymodem 协议 参考https://www.cnblogs.com/dwj411024/p/7717084.html贴上我的代码头文件:#ifndef __Y_MODEM_H__#define __Y_MODEM_H__enu..
2020-12-01 17:19:06 2552
原创 Altium Designer 的快捷键记录
上下左右对齐方式 shift+ctrl +(T L R B)也可以 选定好 要对齐的元件之后 按 A将选定元件快速移动到指定的位置T+O+L
2020-11-11 16:58:06 81
原创 unity 输出 android studio 项目
在 unity 的 输出 android 项目中 设定好包名:选中:输出项目 使用 android studio 打开build 提示错误:Unable to find method 'org.gradle.api.tasks.compile.CompileOptions.setBootClasspath(Ljava/lang/String;)V'百度一下 说是 gradle 的版本不对修改 版本:Project/gradle/wrapper/gradle-wrapper
2020-08-13 15:54:14 191
原创 Unity渲染 YUV420P 数据
使用 h264 解码 得到的 一般是 yuv420 格式的数据我解码 1920*1080分辨率 的 h264 得到的数据格式如下Y[0,1,2,...,1920*1080-1] UV[0,1,1920*1080/2-1]使用 unity 的shader 进行渲染 定义了 两个 TEX一个用来 保存 Y 变量 一个 用来 保存 uv 变量Shader "Custom/YUV420ToRGB"{ Properties { _MainTex ("Texture", 2...
2020-08-06 15:26:54 899
原创 Unity 调用 JAR
在网上看了 很多 调用 JAR 都要包含D:\****\Editor\Data\PlaybackEngines\AndroidPlayer\Variations\mono\Release\Classes 里面的 class.jar但是我觉得 只是 单向 unity 调用jar ,没有 jar 调用unity 的函数 应该 不必须所以 我创建 一个com.yiyo.jartest 的工程在里面 创建一个 model命名为 mylib所以 这个库的 全名是com.yiyo....
2020-07-24 15:22:09 1780
原创 android 跨进程通信 binder
先做服务器端:服务端继承Service,里面带了一个mBinder,mBinder其实就是客户端在 服务端的 映射接口,在客户端 通过transact 发送数据mIBinder.transact(1, data, reply, 0); 服务端的mBinder 就能接受数据 触发onTransact 事件public class H264Service extends Service { private H264Binder mBinder = new H264...
2020-07-23 15:08:23 222
原创 使用 CMakeLists.txt 编译 SO 提供给第三方调用(1)
创建 c++ 项目,将 mainactive 调用 c++ 部分的 java 代码全部去掉,这个只要用来 编译 so 文件将native-lib.cpp 删掉新增一个 使用 mediacodec 进行解码 h264 的类的头文件#ifndef TESTADD_DECODEOP_H#define TESTADD_DECODEOP_Hclass AMediaCodec;class DecodeOp{private: int mWidth; int mHeight;..
2020-07-04 23:28:31 1015
原创 android studio 使用 mediacodec 解码 h264 文件
参考了https://www.jianshu.com/p/0695891fa834首先 封装 mediacodec,针对 H264 进行解码/** * Created by ZhangHao on 2016/8/5. * 用于硬件解码(MediaCodec)H264的工具类 */public class MediaCodecUtil { //自定义的log打印,可以无视 Logger logger = Logger.getLogger(); private St.
2020-06-29 10:05:24 783
原创 Android studio 输出 so 供其它 项目 调用
1.生成so在 android studio 3.5 的基础下 创建 native c++ 项目 com.example.hellondk;在 MainActivity 文件中 创建一个新的类 用来 引用 库函数class SoTest{ static { System.loadLibrary("native-lib"); } public static native String stringFromJNI();};将 cpp 里面的 函数名..
2020-06-23 21:30:20 333
原创 ndk和JNI的使用初探
参考资料:https://blog.csdn.net/qq_25884515/article/details/104250920创建C++项目理解 CMakeList.txt文件,设置头文件 和 添加源文件#设置头文件为当前路径INCLUDE_DIRECTORIES("./")# Creates and names a library, sets it as either STATIC# or SHARED, and provides the relative pat.
2020-06-22 00:06:53 190
原创 Hi3516 使用 wifi模块
买回来的 hi3516的学习板的wifi 是2.4G的,想使用5G的wifi模块, 参考https://leux.cn/doc/Linux%E4%B8%8B%E7%BC%96%E8%AF%91RTL88XX%E7%B3%BB%E5%88%97%E8%8A%AF%E7%89%87%E9%A9%B1%E5%8A%A8.htmlhttps://blog.csdn.net/weixin_44362642/article/details/88891075选定 芯片为将CONFIG_P...
2020-06-17 23:30:32 1180
原创 从stm32移植ucos2的代码到GD32
stm32和gd32 基本通用的,所以os_cpu_c.c,cpu_a.asm,os_cpu_a.asm完全不用修改库函数名字有些不同在main 函数里面定义中断的优先级方法 nvic_priority_group_set(NVIC_PRIGROUP_PRE0_SUB4); //同等优先级在第一个启动的任务里面启动 系统定时器 SysTick_Config(SystemCoreClock / OS_TICKS_PER_SEC);将在stm32里面的的...
2020-05-27 15:18:44 2080 1
原创 使用python的matplotlib进行绘图,
打算学习神经网络,打算做一个数据拟合的实验,先熟悉在 python 里面绘图import numpy as npimport matplotlib.pyplot as plt#x range (0,3*PI) step ((3*PI-0))/99)x = np.linspace(0, 3 * np.pi, 100)nosie = np.random.uniform(-0.1 , 0.1, 100 )y1 = np.sin(x)+nosiey2 = np.sin(x)#y3 = .
2020-05-17 10:31:30 299
原创 -Wl,--start-group ... -Wl,--end-group 用于解决几个库的循环依赖关系
-Wl,--start-group -lmy_lib -lyour_lib -lhis_lib -Wl,--end-group -ltheir_lib
2020-05-14 11:17:44 6594
原创 makefile 自动编译 目录和子目录的 C文件
CROSS = arm-himix100-linux-CC = $(CROSS)gccCXX = $(CROSS)g++ DEBUG = -g -O2 CFLAGS =-Dhi3516ev200 -DHI_XXXX -DISP_V2 -w -mcpu=cortex-a7 -mfloat-abi=softfp -mfpu=neon-vfpv4 -fno-aggressive-loop-optimizations -ldl -ffunction-sections -fdata-sections -...
2020-05-14 10:49:52 1476
原创 bp神经网络的学习心得
看了一篇关于 BP 神经网络的文章,可以快速理解bp神经网络,https://yq.aliyun.com/articles/277312下面是我的理解bp神经网络就是 将 自然问题 一个黑箱的输入 A 到结果输出 B例如输入一张猫的照片 输出是一个cat的问题 用电脑猜测出黑箱的结构 用代码实现这个黑箱的转换神经网络就是一个通用型的黑箱结构,可以设定神经层数,但是每层神经之间的传递参数是不确定的,这个要通过数据学习不停的进行纠正,这个就是数据学习的过程例如这个bp神经...
2020-05-13 16:39:40 4905 2
原创 在ubuntu下交叉 libevent-2.1.8 for hi3516ev300
解压源码tar -zxvf libevent-2.1.8-stable.tar.gz进入源码文件夹:第一步 设置编译器 ./configure--host=arm-himix100-linux第二步 make第三步 将 隐藏文件夹里面的 .libs 的*.a *.so 拷贝到项目中...
2020-05-13 12:19:44 151
原创 在虚拟机ubuntu下 编译 protobuf-c for hi3516ev300
1.在宿主虚拟机下安装 protobuf版本是 protobuf-2.6.1 不要在 windows 的共享文件夹里面安装 可能会 bug1. 先安装依赖库 automake ,autoconf ,libtool2. ./configure3. make4. make cheak5. sudo make install可能会出现错误或者还是显示的老版本号,错误原因:protobuf的默认安装路径是/usr/local/lib,而/usr/local/lib不在ub...
2020-05-13 11:56:30 212
原创 在 ubuntu10 下 安装 ssh
因为学习 hi3516 买来的学习板的环境是 ubuntu10 所以想在 ubuntu 10 上面安装 ssh但是 发现安装过程中 提示 失败, 应该是源过期了更新源参考文章转载自:http://blog.csdn.net/suquan629/article/details/52333769ubuntu10.4到2016年早已停止了更新支持,ubuntu也不再维护了。官方源以及第三方源包括163,sohu等也不再维护。那是不是意味着这个版本的ubuntu只能放弃使用?当然不是的!!.
2020-05-12 17:17:52 228
原创 stm32 利用 串口接收空闲中断 + dma 实现不定长度dma 接收
#include "includes.h"void UartDmaSend(INT8U *pt,INT8U len){ INT8U err; DmaSendData(DMA1_Channel7,pt,len); OSSemPend(OSSemDmaU2Tx,0,&err);}void UsbTask(void *pdata){ INT8U err,*pt,len; ...
2020-05-07 21:19:20 763
原创 vue-cli 学习记录
安装vue-cli npm i vue-cli -g 安装完毕后 可以运行 vue -V 查看版本号 -V 的V 是大写创建 vue项目 ,使用 init 初始化一个项目 vue init <template-name> <project-name> <template-name> 是模板名称 一般使用 ...
2020-04-30 23:47:06 132
原创 STM8L 液晶数码管驱动,温度计液晶屏显示
启动液晶驱动 stm8 支持 4com 28 seg 可以显示 28*4=112点的液晶void LCD_Configuration(void){ /* Enable RTC CLK */ CLK_PeripheralClockConfig(CLK_Peripheral_RTC, ENABLE); /* Choice CLK Source, HSI_Freq = 16M, RTC_...
2020-04-16 11:40:51 1119
原创 stm32使用spi1在slave 模式下 dma 读取数据
初始化 spi1 ,要外部 片选了 pa4 才能进行通信,pMem=OSMemGet(OSMemC2B,&err);是 ucos2 的函数,就是获得一片内存,可以直接指定一个数组 代替void InitSpi1DmaRec(void){ INT8U err,*pMem,*pTmp; SPI_InitTypeDef SPI_InitStructure; GPIO_InitT...
2020-04-15 17:03:30 2656
转载 用模态框 实现 注册 登陆
说明:1. 上来一个ul先把登录和注册两个链接扔进去,ul的类nav,navbar-nav是导航条,navbar-right让他固定在右侧。每个li的里面,data-toggle="modal"是点击出现一个modal模组,data-target="#register"是点击之后出现的弹框的id,再里面的span是那个小人图标。2. 接下来就是一个大div装着这个注册的弹框,id="reg...
2020-04-02 16:56:45 3229 1
ucos2重写stm32标准库的usb转串口demo
2021-01-27
cryptopp810.zip
2020-04-08
stm32isp.rar
2020-02-26
hisi_io_drv.rar
2020-01-02
gb2big.zip
2019-10-14
bin2hex.rar
2019-07-04
基于mega8的操作系统,类ucos
2010-03-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人