- 博客(0)
- 资源 (8)
- 收藏
- 关注
C_C.软件工程师就业求职手册].胡凌云.
C_C.软件工程师就业求职手册].胡凌云.非常有用的一本书,对于想面试软件工程师的话一定的看,书中介绍了如何写一份漂亮的简历,如何自我介绍,还有一些经典的题目,本人在笔试中确实有碰到很多题,还有一些行测题目,教你答题的思维方式
2014-09-15
mini2440对nand flash的读写,以及读取ID
/* low level nand write function */
int nand_write_ll(unsigned char *buf, unsigned long start_addr, int size)
{
int i, j,k;
if(buf == NULL)
{
return;
}
if ((start_addr & NAND_BLOCK_MASK) || (size & NAND_BLOCK_MASK)) {
return -1; /* invalid alignment */
}
NAND_CHIP_ENABLE;
for(i=0; i<(size/2048+1); i++) // fixed by xuj
{
/* READ0 */
NAND_DETECT_RB;
NFCMD = 0x80;
/* low level nand write ID function */
int nand_read_ID(void)
{
int k;
unsigned char id[5] = {0};
NAND_CHIP_ENABLE;
/* READ0 */
NFCMD = 0x90;
/* Write Address */
NFADDR = 0;
2014-07-29
通用双向链表
通用双向链表,包括增加,删除节点,修改等,功能齐全typedef struct linkd
{
// 链表头
node_t *head;
// 链表尾
node_t *rear;
// 链表节点数
int count;
}link_t;
/* 链表操作 */
/************初始化 ***************/
void link_init(link_t *plink);
/******************增加节点*******************/
//通过index插入节点
int insert_node_by_index(link_t *plink,int index,void *data);
//从头部插入节点
int insert_node_front(link_t *plink,void *data);
//从尾部插入节点
int insert_node_rear(link_t *plink,void *data);
/******************查找节点*******************/
//通过index获取链表的某个节点
node_t* getnode_by_index(link_t *plink,int index);
/* 删除节点 */
//从头部删除节点
int del_node_front(link_t *plink);
//从尾部删除节点
int del_node_rear(link_t *plink);
//删除链表里面的节点,不包括链表本身
void del_all_node(link_t *plink);
//删除链表澹(所有节点和链表本身)
void del_link(link_t *plink);
//删除某个节点
void del_at(link_t *plink,int pos);
//创建一个节点
node_t* create_node(void *data);
//释放一个节点
void free_node(node_t *node);
//判断是否是空链表
int is_empty_link(link_t *link);
2014-07-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人