wityy
码龄15年
关注
提问 私信
  • 博客:116,307
    116,307
    总访问量
  • 13
    原创
  • 1,004,315
    排名
  • 25
    粉丝
  • 0
    铁粉
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:湖北省
  • 加入CSDN时间: 2009-10-17
博客简介:

鱼鱼的嵌入式学习

博客描述:
知识源于点滴积累
查看详细资料
个人成就
  • 获得25次点赞
  • 内容获得17次评论
  • 获得139次收藏
创作历程
  • 6篇
    2013年
  • 8篇
    2012年
TA的专栏
  • STM32
    3篇
  • 编程语言
    10篇
创作活动更多

如何做好一份技术文档?

无论你是技术大神还是初涉此领域的新手,都欢迎分享你的宝贵经验、独到见解与创新方法,为技术传播之路点亮明灯!

179人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

指针与数组--指针与数组的定义与声明

定义与声明的区别:(1)定义就是编译器创建一个对象,为这个对象分配一块内存并为其取一个名字,这个名字就是我们常说的变量名或对象名。定义需要分配内存。(2)声明表示该变量名或对象名在其他地方已经定义过,并且该变量名或对象名已经定义过,其他地方不能在使用该名字作为变量名或对象名。同一个变量名或对象名可以在不同的地方声明多次,并且声明不分配内存。指针与数组的定义域声明如下两种方式都是
原创
发布博客 2013.05.10 ·
1132 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

指针与数组--a与&a区别

假设声明了一个数组a,则&a表示数组a的首地址,a与&a[0]表示数组a首元素的首地址,那么&a+1与a+1有哪些区别呢?通过下面的实验来说明。int i = 0;int a[5]={1,2,3,4,5};int *p = (int *)(&a+1);for(i=0;i{printf("a+%d = 0x%p,a[%d] = %d
",i,a+i,i,a[i]);}
原创
发布博客 2013.05.10 ·
1363 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

指针与数组--指针访问与下标访问

指针与数组下标访问与指针访问的区别如下:         char *p="abcde";char a[5]={1,2,3,4,5};printf(" p+4  = 0x%p,*(p+4) = 0x%x
",p+4,*(p+4));printf("&p[4] = 0x%p, p[4]  = 0x%x
",&p[4],p[4]);printf(" a+4  = 0x%p,*(
原创
发布博客 2013.05.10 ·
2784 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

#define

define 用于文本替换,称之为宏定义,基本形式为不带参数和带参数两中形式:(1)#define   name    struff           eg:#define  NUM     100         (2)#define   name(parameter-list)   struff     eg:#define  SUM(a,b)    ((a)+(b))
原创
发布博客 2013.03.10 ·
1069 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

STM32之SysTick嘀嗒定时器

STM32嘀嗒定时器为RTOS系统提供延时使用,在无操作系统情况下也可以实现准确的延时,从而告别通过while循环实现软件延时。嘀嗒定时器是一个24位的减计数器,包括有CTRL、LOAD、VAL、CALIB四个寄存器,各个寄存器的描述如下。(1)CTRL寄存器(控制寄存器):(2)LOAD寄存器(数值加载):(3)VAL寄存器(当前计数值):
原创
发布博客 2013.01.02 ·
2890 阅读 ·
0 点赞 ·
0 评论 ·
6 收藏

STM32之系统时钟

使用STM32已经有一段时间,为了快速完成任务习惯性在已有代码的基础上进行部分修改,而没有仔细阅读数据手册,详细分析参数设置的缘由。现将逐步将STM32的各部分内部结构一次进行细节的学习,今天进行STM32的时钟部分。         STM32F103系列时钟最高可以至72MHZ,时钟来源包括HSE(外部高速时钟)、LSE(外部低速时钟)、HSI(内部高速时钟)、LSI(内部低速时钟
原创
发布博客 2013.01.02 ·
1563 阅读 ·
1 点赞 ·
0 评论 ·
4 收藏

利用异或方法实现数据交换

两个数据实现数据交换通常选用中间变量的方式实现,利用异或运算可以方便实现两个数据的互换。         异或运算:a^b    (按位进行异或,相异为1,相同为0) 例如:a=5,即0101(2);b=6,即0110(2)。通过以下三个赋值语句可以实现数据交换。(1)a = a^b;(2)b = b^a;(3)a = a^b;过程分析:(1) a
原创
发布博客 2012.11.28 ·
2523 阅读 ·
1 点赞 ·
0 评论 ·
4 收藏

串口发送数据——字符串发送与十六进制发送的区别

在使用串口发送数据时可以选择字符串发送或者十六进制发送,通常情况下我们习惯选用字符串发送数据。关于两者的区别,需要从计算机存储数据的格式说起。        在计算机中,数据是以二进制的形式存储的,例如十进制 1(10)在计算机中用 0000 0001(2)来表示。我们在用串口发送数据的时候首先将待数据转换为对应的ASCII码,然后再将这些ASCII码按照二进制的方式一位一位的发送出去。例
原创
发布博客 2012.11.28 ·
59613 阅读 ·
19 点赞 ·
10 评论 ·
142 收藏

STM32外部中断处理流程及注意事项

STM32的外部中断是以组为单位,例如PA0、PB0、PC0、PD0、PE0、PF0、PG0共用外部中断0,我们再使用时从中选择一个座位外部中断0即可,其他中断类推。外部中断包括EXTI0、EXTI1、EXTI2、EXTI3、EXTI4、EXTI9_5、EXTI15_10,Pin0--Pin4有各自独立的中断,Pin5--Pin9共用一个中断,Pin10--Pin15共用一个中断。
原创
发布博客 2012.10.09 ·
8999 阅读 ·
0 点赞 ·
0 评论 ·
7 收藏

内存对齐

#pragma  pack(push ,num)          num表示几字节对齐Typedef struct  AAA{Int a;Char b;…….}AAA;#pragma pack(pop)
原创
发布博客 2012.09.29 ·
649 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

结构体变量与结构体指针变量的使用方法

一、结构体的定义格式一般如下:Typedef struct SCI{    U8 data[MAXLEN];     U16 pos;}TSCI;二、访问结构体成员的基本方法有两种:1、定义一个结构体变量直接访问成员变量;2、定义一个结构体指针变量间接访问结构体变量。(1) 结构体变量访问TSCI  Sci1;Sci1.data [
原创
发布博客 2012.09.29 ·
2003 阅读 ·
1 点赞 ·
0 评论 ·
2 收藏

串口接收缓冲区的一点体会

在调试电台的使用过程中,设计到电台参数检测、电台参数修改、电台传输模式启动和数据传输是个部分,程序流程是:(1)依次检测电台参数(CFG = 0),若电台参数正确则继续检测参数,否则修改参数设置。所有参数都正确时返回 TRUE。(2)参数正确后进入数据传输启动模式(CFG =1),接收到READY后表示启动完成,返回TRUE。(3)数据传输模式正常启动后,发送或接收数据。在
原创
发布博客 2012.09.29 ·
11842 阅读 ·
1 点赞 ·
0 评论 ·
1 收藏

12个有趣的C语言面试题

1.gets()函数问:请找出下面代码里的问题:#include int main(void) {     char buff[10];     memset(buff,0,sizeof(buff));      gets(buff);      printf("
 The buffer entered is [%s]
",buff);      return 0; }
转载
发布博客 2012.09.11 ·
784 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

STM32 SPI方式读写flash

发布资源 2012.09.09 ·
zip

FLASH读写----SPI

最近项目中用到FLASH作为数据存储,研究了下以SPI方式读写FLASH的基本方法与流程。应用环境如下: 控制器     STM32F103                               FLASH      M25P64                            读写方式    SPI                            编程环境
原创
发布博客 2012.09.09 ·
19083 阅读 ·
2 点赞 ·
7 评论 ·
19 收藏

FPGA的27个实例

发布资源 2010.05.18 ·
application/x-rar
加载更多