脱离A板后,拆下B板上的核心板和蓝牙模块用不上了:
下一步就是单片机编程了。程序功能简单,就是写一堆数据到i2c就行了
随便找了一片8脚的pic单片机pic12f675,网上找了一个gpio模拟i2c的程序
把从“Bus Pirate”嗅探到的数据,改成C语言的格式,编程二维数组。tw8816的寄存器几百个, 分成两个page。写到变量page00和page01中。其中二维数组第一个元素表示寄存器号,第二个是值。比如const char page00[][2]={ {0x00,0x22},{0x01,0x83},
表示0号寄存器内容0x22,1号寄存器内容0x83
为了让程序美观(主要是显摆俺的C语言功底),用指向二维数组的指针的数组const char (*page_buff[])[2]={page01,page00};来进行两页数据循环写入。这样写可以方便的进行page和额外数据组的添加。
程序主要部分(因为二维数组指针数组的数据定义很好,所以程序简洁美观):