代码改变世界

strlen()的实验

2013-09-10 10:39 by 居安, 146 阅读, 0 推荐, 收藏, 编辑
摘要: 阅读全文

字符串和字符数组长度

2013-09-06 15:19 by 居安, 1599 阅读, 0 推荐, 收藏, 编辑
摘要:int main(){char a[] = "abcdefg";char *pstr = "abcdefg";char b[]={'a','b','c','d','e','f','g'};printf("sizeof(a)=%d,strlen(a)=%d\n",sizeof(a),strlen(a));printf("sizeof(pstr)=%d,strlen(pstr)=%d\n",sizeof(ps 阅读全文

四个月的学习心得

2013-08-28 11:27 by 居安, 338 阅读, 0 推荐, 收藏, 编辑
摘要:四个月前我还是一个arm盲。刚开始不知道程序从哪里开始读,程序从哪里开始跑,后来在交接人员的指导下,知道了rt-thread中有个main函数,程序从那里开始读。 后来再读程序的时候,发现很多函数或者宏定义以一种很规范的方式编写在一些.c或者.h文件中,根据自己对代码的敏感性,我感觉这是一种类似库或者标准的形式提供的。因为很多文件的都是stm32f10x_xxxx.h或者stm32f10x_xxxx.c的形式给出的。后来去网上各个论坛查找(给我帮助最大的便是opendev和21Ic电子工程师论坛),各种google搜查,终于知道st官方固件库这一个东西。 后来便通过学习使用这个固件库来... 阅读全文

话说stm32f10x-FSMC的配置与频率

2013-08-28 10:56 by 居安, 5149 阅读, 0 推荐, 收藏, 编辑
摘要:FSMC同步非复用读写csram的具体配置说明;rt-thread中系统时钟的初始化过程--从启动程序说起 阅读全文

一些笔试题,大家都来围观呀~

2013-08-23 09:31 by 居安, 388 阅读, 0 推荐, 收藏, 编辑
摘要:一、有一个8位二进制序列号,当且仅当一个序列号含有偶数个1时,它才是有效的。例如:0000000001010011 都是有效的序列号,而11111110不是,那么有效的序列号共有()个。每种情况一一讨论如下:1.八个1的情况 12.选其中两个1置0 共有C8_2=8*7/2=283.选其中四个1置0 共有C8_4=(8*7*6*5)/(4*3*2)=704.选其中六个1置0 共有285.将1全部置0 共有1所以有效序列号共有1+28+70+28+1 =128种。个人感觉这种方法暴力,太土。望大家提出更好的方法分享分享~二、在有序双向链表中定位删除一个元素的平均时间复杂度为()A、O(1) B、 阅读全文

简单的生产者消费者-(windows下)

2013-08-20 12:37 by 居安, 323 阅读, 0 推荐, 收藏, 编辑
摘要:// Produce_Consume.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include "windows.h"#include //_beginthreadex的头文件#define BUFFER_SIZE 10HANDLE hMutex;HANDLE hNotFull;HANDLE hNotEmpty;struct prodcons { int buffer[BUFFER_SIZE]; int getpos, putpos; };typedef struct prodcons PrCon;PrCon * 阅读全文

STM32f10x下软件模拟IIc读写si5326问题

2013-08-17 17:59 by 居安, 572 阅读, 0 推荐, 收藏, 编辑
摘要:关于在STM32下软件模拟IIC的资料已经有很多,在项目中,使用软件模拟就是出问题,而主要问题便是每次向si5326芯片发送数据或者地址后,总是收不到回应。刚开始就是找不到原因。偶然间找到一些关于si5326的IIC时序资料,仔细一推敲,发现自己模拟的始终周期与si5326的正常工作时序周期有差别。我就用的一般的5微秒,而正常的是37毫秒。这个差距...这里我是犯了经验主意错误。以往接触的芯片都在几微妙,这个居然....毫秒级的。 接下来,上示波器,测试。数据是送出去了的,但是就是没有ack。但是发现一个微妙的现象,在等待ack的那个时序周期,电平被拉到半高状态,有过很多大胆的猜测和想法... 阅读全文

usb枚举阶段(转载)

2013-08-16 10:58 by 居安, 273 阅读, 0 推荐, 收藏, 编辑
摘要:(注:转载自网上)【USB】不但固件程序需要编写;PC端的驱动也要编写;而且驱动写好了还要写个上机位才能看出效果;这样调试起来十分困难,建议从USB的键盘,鼠标开始做,了解清楚了,再做自己的协议就比较简单了。------------------------------------(第一)设备插入-------------------------------------------------------------1) 主机会轮回查询各个USB端口,主机检测到D+与D-之间有电压差,就认为有新的设置接 入。主机等待100ms后发出复位请求。设备接到复位请求后将产生一个外部中断信号。------ 阅读全文

STM32 GPIOB_PIN3复用功能小分析

2013-08-15 16:55 by 居安, 593 阅读, 0 推荐, 收藏, 编辑
摘要:在stm32项目中,对PB3写数据时始终在示波器上没有任何反应,最后才查看手册,发现PB3的主功能居然不是I/O,而是JTAG;要对PB3进行IO操作需要先关掉JTAG,特写此笔记。 阅读全文

析构函数领悟

2013-08-08 23:27 by 居安, 231 阅读, 0 推荐, 收藏, 编辑
摘要:析构函数顿悟的灵感是在类String中闪现的:class String{ public: String(const char *str = NULL); // 通用构造函数 String(const String &another); // 拷贝构造函数 ~ String(); // 析构函数 String & operater =(const String &rhs); // 赋值函数 private: char *m_data; // 用于保存字符串};String::String(const char *str){ if ( str == NULL ) //str 阅读全文