之前看过linux下的SPI bitbang驱动, 但是当时没弄明白为什么叫bitbang. 以下是一些google的信息.
WhatIs Bit-Banging?
Bit-bangingis a method of using general-purpose I/O lines to emulate a serial port.Microcontrollers that include serial-port modules like SPI[tm] and I2C[tm]manage all synchronization and timing signals, and this activity is transparentto the user. With bit-banging, however, each write to the port causes a singletransition at the port pin. And it's up to the user, first, to provide thecorrect number of transitions to obtain the desired waveform and, second, toensure that the timing requirements (particularly setup and hold times forreading and writing data) are met. Due to the overhead associated with thenumber of writes to the port, though the actual port speed might be quite highthe actual bit-bang throughput rate is usually very slow. This technique isvery inefficient from a software perspective, but it may be acceptable in someapplications where the communication overhead is acceptable (for example fordoing occasional controlling communication).
http://www.epanorama.net/links/serialbus.html