摘要: #define SDA_IN() {GPIOA->CRL&=0X0FFFFFFF;GPIOA->CRL|=(u32)8<<28;}#define SDA_OUT() {GPIOA->CRL&=0X0FFFFFFF;GPIOA->CRL|=(u32)3<<28;} 终于碰到点儿寄存器的操作了. 上面的 阅读全文
posted @ 2016-09-07 17:48 Montauk 阅读(9527) 评论(0) 推荐(3) 编辑
摘要: 买的E2PROM是128*8bit的, 就是只能存储128个byte, 妈的, 买小了. 实际需要的是10句, 可能加两个特殊句, "新手"跟"故障", 一共12个字符, 除了后面两个特殊的, 每个句子有最多30个字, 每个字是2个byte, 一句话就是30*2=60+2(语句编号/语句长度)个by 阅读全文
posted @ 2016-09-04 10:32 Montauk 阅读(296) 评论(0) 推荐(0) 编辑
摘要: 1. 首先要考虑将String转成一个bytes的数组, 每个汉字是3个bytes, 英文或者标点是1个byte. 2. 然后去判断一下每一个byte的前面几个bit, 看下面的表, 1个byte的字符, 就是英文跟标点, 它的第1个bit是0; 3. 重点是3个bytes的字符, 就是汉字, 或者 阅读全文
posted @ 2016-09-02 20:33 Montauk 阅读(1660) 评论(0) 推荐(0) 编辑
摘要: package com.wulala;import java.io.IOException;import java.net.ServerSocket;import java.net.Socket;public class JavaThreadCreationAndRun { public stati 阅读全文
posted @ 2016-08-31 17:08 Montauk 阅读(248) 评论(0) 推荐(0) 编辑
摘要: 1. App端会发送一定数量的byte过来蓝牙, 每2个byte是一个汉字的编码. 2. 拿到汉字编码之后, 统计字符数量, 然后通过SPI, 搜索编码 3. 收到的编码, 每个汉字字符有32个byte, 如果一句话有30个汉字, 及960个byte,乘以8, 就是7680, 大约8K, 24C08 阅读全文
posted @ 2016-08-28 00:12 Montauk 阅读(272) 评论(0) 推荐(0) 编辑
摘要: P1SEL寄存器, 0xF4, 功能选择用的, 0表示GPIO口, 1表示外设. 寄存器0x90, 是制度的, 表示P1的8个引脚的状态. Port1的方向, 0表示输入, 1是输出. 阅读全文
posted @ 2016-08-27 13:51 Montauk 阅读(1112) 评论(0) 推荐(0) 编辑
摘要: E2PROM(24C02): Flash(w25q): 阅读全文
posted @ 2016-08-25 14:20 Montauk 阅读(570) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2016-08-25 12:29 Montauk 阅读(230) 评论(0) 推荐(0) 编辑
摘要: 包类型: 01命令/02数据/03应答消息 开始标志FF/本数据包长度(注意是16进制)/校验码/包ID/包类型01: 表示是命令/01表示下面要开始传输/03字符串编号/字符串长度/结束位FEFF 09 3B 2C 01 01 03 0A FE 0A 0B 0C 0D 0E 0F 10 11 12 阅读全文
posted @ 2016-08-24 20:48 Montauk 阅读(548) 评论(0) 推荐(0) 编辑
摘要: 由于要写TM1680, 写命令跟写数据, 所以需要使用CC2541的I2C, 2541是有硬件I2C的. tm1680.c: #include "tm1680.h" //TM1680是先发送配置, 然后发送数据.void masterConfig(void);void masterSendData( 阅读全文
posted @ 2016-08-24 10:46 Montauk 阅读(1572) 评论(0) 推荐(0) 编辑