nRF51800 蓝牙学习 进程记录 2:关于二维数组 执念执战
前天在玩OLED时想完成一直想弄得一个东西,就是简单的单片机游戏。因为STM32和nRF51822的内存足够,所以就用缓存数组的方法来显示图像(我也不知道术语是啥,反正就是在内存中建立一个128X64的二维数组,更新显示时将整个数组刷新到屏幕上),而且这两个OLED是串口的(还有一个128X32的OLED,一样串口的,连驱动时序和驱动函数都一样,两个都太小了,还那么贵......),四个IO口就能驱动(两个还是供电的VCC和GND),所以不像之前的那个mini 12864屏幕,它是8位并口的,带读写功能,而这个串口的只能写,不能读(那个Mini12864是5V的,我试着不加外加电路用STM32没驱动成功,可能是我水平不够,另外总共十多个引脚,全弄转换电路太复杂,而STM32的5V兼容当时我还不知道,就一直放着了,没在用STM32 试过,为了简单点使用12864,也为了做毕设,就又买了俩3.3V的),所以开辟一个缓存数组可以解决读屏幕内容这个问题。(以后看还能想着补上三种12864的照片吧)
但是在刚开始写程序时就出了问题,就是对于二维数组的定义和引用出现了问题。现在解决了,顾总结如下(仅我知道的和刚刚解决的)。
1:二维数组在函数定义时,要定义到列,其中列数要与要传递来的二维数组的列向量数一致。如:
定义一个二维数组:
unsigned char T_image[4][6]={ //就是一个俄罗斯方块的一个图形的四个方向变换的图形
{0,1,0,1,1,1},
{ 1,0,1,1,1,0},
{1,1,1,0,1,0},
{0,1,1,1,0,1}};
2:然后定义一个函数,此函数能够调用上面二维数组,但不限于上面一个,则定义为:void Position_change(struct POSITION pos,unsigned char ch[][6]);,注意定义中对数组的定义,就是定义到列向量,并且下标数值与即将引用的数组的列向量下标相等值,而行向量下标则不需要写(所以上面定义二维数组时最好行列向量下标值要统一)。使用时便可以直接传递一个定义了的二维数组,如在main中调用时写为:Position_change(pos,T_image); 就可以了。
3:若在这个定义的函数中还调用了另一个函数Draw_position,这个函数要使用ch[][6]传递的函数,则在定义这个函数时和上面那个函数一样,定义到列向量:void Draw_position(unsigned char ch[][6]);然后在上面那个函数中被调用时写成 Draw_position(ch);就可以了,即二维数组变量作为传递函数时只需要写方括号前面的名称就好,不需要写方括号,也不需要精确到列向量,和上面那个函数在main函数中调用一样。即整体写为:
void Position_change(struct POSITION pos,unsigned char ch[][6])
{ Draw_position(ch);
}
4:若函数中还有对传递二维数组的for循环,则只需要对定义中的二维数组进行操作就行了:
for(i=0;i<4;i++)
for(n=0;n<6;n++)
if(ch[i][n]==0)....... //ch就是指定义时的参数变量名称,定义为啥就写为啥好了,就能传递下来了
else......
好了,基本就写完了。其实这个很简单,只是当时学的时候没觉得这个重要,就简单而过了。
以后要写点对nRF51822的应用体验,拟想从开箱开始(额,用了好久了,跳过吧,从怎么连接电脑设置kile5并用SWD下载开始吧),但是不知道人家允许么......
本文水平有限,内容很多词语由于知识问题不严谨或很离谱,但主要作为记录作用,能理解就好了,希望以后的自己和路过的大神对必要的错误提出批评与指点,对可笑的错误不要嘲笑,指出来我会改正的。
nRF51800 蓝牙学习 进程记录 2:关于二维数组 执念执战的更多相关文章
- nRF51800 蓝牙学习 进程记录 1:感想
一直想开一个高大上点的博客,觉得博客园不错,便申请了.一直没时间看,都快忘了,无意间登上提示申请到了.便写个东西看看. 正在学习nRF51822的蓝牙开发板,为了做毕设准备.备考中,一直没时间学,但今 ...
- 个人学习记录1:二维数组保存到cookie后再读取
二维数组保存到cookie后再读取 var heartsArray = [[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0],[0,0, ...
- C#学习笔记04--排序/查找/二维数组/交叉数组
一. 冒泡排序(重点) 思路: 每次比较把较小的放在前面, 大的放到后面; 图解:下图是最坏情况下的排序 ` 冒泡排序m个元素, 就有(m-1)趟排序, 第一趟m-1次, 第二趟 m-2次.... ...
- Python学习笔记 之 递归、二维数组顺时针旋转90°、正则表达式
递归.二维数组顺时针旋转90°.正则表达式 1. 递归算法是一种直接或间接调用自身算法的过程. 特点: 递归就是在过程或函数里调用自身 明确的递归结束条件,即递归出口 简洁,但是不提倡 递归次数多 ...
- 【Java学习笔记之八】java二维数组及其多维数组的内存应用拓展延伸
多维数组声明 数据类型[][] 数组名称; 数据类型[] 数组名称[]; 数据类型数组名称[][]; 以上三种语法在声明二维数组时的功能是等价的.同理,声明三维数组时需要三对中括号,中括号的位置可以在 ...
- Java-J2SE学习笔记-字符串转化为二维数组
1.字符串转化为二维Double数组 2.代码: package Test; public class TestDouble { public static void main(String[] ar ...
- Java菜鸟学习笔记--数组篇(三):二维数组
定义 //1.二维数组的定义 //2.二维数组的内存空间 //3.不规则数组 package me.array; public class Array2Demo{ public static void ...
- 深入理解C/C++二维数组
深入理解C/C++二维数组 前言 本来以为自己对二维数组的理解还可以,没感觉有什么,但是今天小伙伴问了一个问题感觉迷惑了好久,于是决定细致的记录一下,一步一步的探究各种关于二维数组的问题,巩固基础. ...
- C++学习笔记之由文本文件读取数据到vector模板建立的二维数组 并存储为新的文本文件
阅读本文可首先参考: C++学习笔记之输入.输出和文件 测试数据: /*读取txt文件到二维数组*/ #include <iostream> #include <fstream> ...
随机推荐
- FreeRTOS 使用指南(转)
源:FreeRTOS 使用指南 繁星电子开发团队制作 作为一个轻量级的操作系统,FreeRTOS 提供的功能包括:任务管理.时间管理.信号量.消息队列.内存管理.记录功能等,可基本满足较小系统的需要. ...
- openstack controller ha测试环境搭建记录(七)——配置glance
在所有集群安装glance软件:yum install -y openstack-glance python-glanceclient 在任一节点创建glance用户:mysql -u root -p ...
- cronolog 对 tomcat 7 进行日志切割
一.安装 软件 cronolog-1.6.2.tar.gz tar zxvf cronolog-1.6.2.tar.gz cd cronolog-1.6.2 ./configure && ...
- MySQL 索引的使用
一.or 的使用 (1)MySQL版本大于 5.x 的会使用 index merge 功能,即可以将多个单列索引集合起来使用,不过在查询时使用 or 的话,引擎为 myisam 的会开启 index ...
- Exception和RuntimeException的区别
Exception:在程序中必须使用try...catch进行处理. RuntimeException:可以不使用try...catch进行处理,但是如果有异常产生,则异常将由JVM进行处理.
- 使用Cookie记住用户名和密码
Login.jsp <form name = "f1" method="get" action="servlet/LoginServlet&qu ...
- UVa 124 - Following Orders
题目大意:给一个变量列表和变量的大小关系,输出所有的满足约束的序列. 构建为有向图,然后就是拓扑排序,使用回溯输出所有的结果. #include <cstdio> #include < ...
- windowsxp系统下SVN添加新用户
以我部署的文件为例: 我在f盘下新建一个zzz文件夹将其部署为svn共享工程后,新来员工需要添加svn账号以获取工程. 总共三步begin: 1.进入工程文件夹ZZZ在里面有一个conf文件夹如图: ...
- bzoj1468
1468: Tree Time Limit: 10 Sec Memory Limit: 64 MBSubmit: 1023 Solved: 532[Submit][Status][Discuss] ...
- 【腾讯Bugly干货分享】iOS 中 HTTPS 证书验证浅析
本文来自于腾讯Bugly公众号(weixinBugly),未经作者同意,请勿转载,原文地址:https://mp.weixin.qq.com/s/-fLLTtip509K6pNOTkflPQ 导语 本 ...