- 博客(17)
- 收藏
- 关注
原创 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关注的人