自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 收藏
  • 关注

原创 ucos任务调度原理

ucos任务调度原理

2022-08-01 10:31:03 1484 1

原创 linux文件锁的使用

linux文件锁的使用

2022-07-21 10:26:28 423

原创 建立平衡二叉树简单demo

建立平衡二叉树

2022-07-15 10:54:21 209

原创 Makefile自动推导的简单例程

Makefile自动推导的简单例程

2022-07-15 10:14:06 267

原创 2021-04-30

Openwrt内核添加支持usb挂exfat文件模块的方法一 进入Linux内核代码的根目录。这里以MTK为例。二观察内核代码根目录下是否有fs目录。然后 ls ./fs来观察是否有exfat相关的文件。如果没有,网上下载exfat-nofuse-master.zip源码。解压后命名为exfat。三 将解压后的exfat复制到fs目录下。四 在打开fs下的Kconfig,添加Source “fs/exfat/Kconfig”五 在打开fs下的Makef...

2021-04-30 10:03:46 647

原创 2021-04-23

Openwrt使能ipv6的步骤和解析1 首先打开/etc/sysctl.conf。检查配置是否如图所示:2 如果配置文件/etc/sysctl.conf没有这些项。则在/etc/sysctl.conf添加这些项。3 运行sysctl -p /etc/sysctl.conf向内核载入配置。4 稍等几秒后,用命令ifconfig观察wan的状态,发现wan上已经有ipv6的地址。如图所示。5 此时先用ping6命令ping一下外网的ipv6地址。观察网络是否连通。此时,wa

2021-04-23 17:35:41 124

原创 2021-03-22

Openwrt的url过滤配置流程在实际的防火墙开发过程中,我们有时需要开发带url过滤的功能,那此时我们该怎么办呢?小编在这里给大家讲解一下。如果linux内核已经全部编过相关iptables的各种模块,则可以用以下两条配置好。iptables -I FORWARD -m string --string "baidu.com" --algo kmp -j DROPiptables -I FORWARD -m string --string "baidu.com" --algo bm -j

2021-03-22 12:04:31 454

原创 2021-03-22

Openwrt修改内核代码或配置的方法一 打patch的方法。以mt7621为例。在软件包根目录下的/target/linux/ramips/patch-4.4下加相应的patch。二 修改linux内核代码,重新打包。其方法如下:1 在dl的目录下把linux-4.4.182.tar.xz复制出来。解压后修改。解压命令如下:xz -d linux-4.4.182.tar.xz生成linux-4.4.182.tar tar -xvf linux-4.4.182.tar2...

2021-03-22 12:02:03 245

原创 快速的将结构体各成员清零

如何将结构体各成员清零。以前笔者我也傻傻的如下这样做:struct AA{short int a;long b;short int c;long d;};struct AA tab[10];void main(){ int i; for(i=0;i<10;i++) { tab[i].a = 0;

2012-07-26 10:24:10 16828 2

原创 STM32启动文件的选择

在编写STM32应用程序之前,我们先得对不同型号的STM32,选择不同的启动文件。ST给我们提供了3个启动文件,分别适用于不同容量的STM32芯片。他们是:startup_stm32f10x_ld.sstartup_stm32f10x_md.sstartup_stm32f10x_hd.s其中,ld.s适用于小容量 产品;md.s适用于中等容量产品;hd适用于大容量产品;这里

2012-06-29 17:33:42 1980

原创 C++基类对象指向子类对象的现象

#includeusing namespace std;class A{ public: void fun() { cout<<"AA fun;"<<endl; }};class B: public A{ public: void fun() { cout<<"BB fun;"<<endl; }};clas

2012-06-28 17:54:32 3928

翻译 浮点型数据在内存中存储的表示

实数在内存中以规范化的浮点数存放,包括数符、阶码、尾数。数的精度取决于尾数的尾数。比如32位机上float型为23位(因为规范化数的数码最高位恒为1,不必存储,实际精度为24位,下面会有详解),double型为52位。单精度float型存储在内存中的大小为4个字节,即32位。xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx浮点表示法类似于科学计数法,任一数均可通过

2012-06-21 17:04:26 2211 1

原创 double型数据转字符串后通过MCU串口发送

double型数据转字符串如下函数,函数的功能如:将 double=12.123的数据转为CString = "12.123";后通过串口发出void PutDataTOChar(double dat){      u8  i;   u8  tab[10];//存整数部分   u8  bot[6];//存小数部分   u8  iIndex =0;//整数部分指针   u

2012-06-19 13:48:21 2528

原创 MCU接收串口字符型数据转换成数据型数据

做MCU开发时,常常碰到串口接收的数据是字符型数据,是ASCII码,而我们需要解析的是数据型的。如:串口接收到的是:"-236,854,635"这个字符串。而我们需要将这个字符串解析为:int 的-236,854,635才能为我所用。以下是实现功能的子函数。void PutCharTOdata(double *tab,u8 *rev_tab,u8 rev_count)//   tab[ ]

2012-06-18 09:45:29 2188 1

原创 在大程序中怎么样显示LED点阵

当然,LED点阵的显示在网上有很多简单的方法,我总结了一下,大多都是用死延时的方法来扫描LED的行或者是列,,,一般的方法都是如下如写的:   以8*8点阵为例:   byte code tab[] ={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};   byte hang;    void writeDataTo595(byte data)

2012-04-18 10:34:53 793

原创 队列方法接收串口的数据

通常在接收串口数据时,往往由于发送端发送数据量太快导致接收端无法完全接收发送过来的数据。原因是还没有来得急处理数据,后面的数据已将前面数据覆盖。所以在处理此问题时,必须用队列的方式处理串口的数据。。即把接收数据和处理数据分开处理。用缓冲的方法,如下。。typedef struct{        unsigned int  UsartRxbuf[1000]; //接收串口b

2012-03-30 16:38:07 5749 1

原创 ucosII OSMemCreate()函数的解析

ucosII OSMemCreate()函数的解析OS_MEM  *OSMemCreate (void *addr, INT32U nblks, INT32U blksize, INT8U *perr){    plink = (void **)addr;                                pblk  = (INT8U *)((INT32U)addr +

2012-03-26 09:08:36 3166 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除