linux spi写数据,但是示波器检测不到(求高手解答)
我的spi驱动代码如下:
#include <linux/completion.h>
#include <linux/kernel.h>
#include <linux/platform_device.h>
#include <linux/dma-mapping.h>
#include <linux/slab.h>
#include <linux/uaccess.h>
#include <linux/input.h>
#include <linux/device.h>
#include <linux/init.h>
#include <linux/delay.h>
#include <linux/spi/spi.h>
#include <linux/module.h>
#include <linux/timer.h>
#include <linux/param.h>
#include <linux/jiffies.h>
#include "nn1001.h"
MODULE_LICENSE("Dual BSD/GPL");
const char send_data[16] = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16};
static int count;
struct timer_list nn1001_timer;
struct nn1001_bus_ops *ops;
struct spi_device *nn1001_spi;
struct mutex nn1001_lock;
write1(struct spi_device *spi, const void *buf, size_t len)
{
	printk(KERN_ALERT "------enter write1---------\n");	
	struct spi_transfer	t = {
			.tx_buf		= buf,
			.len		= len,
		};
	struct spi_message	m;
	spi_message_init(&m);
	printk(KERN_ALERT "------add spi_transfer to spi_message-------\n");
	spi_message_add_tail(&t, &m);
	printk(KERN_ALERT "------spi_sync---------\n");
	return spi_sync(spi, &m);
}
static void nn1001_timeout_function(unsigned long arg)
{
	printk(KERN_ALERT "------enter timeout function count:%d------",count);
	count++;
	mutex_lock(&nn1001_lock);
	printk(KERN_ALERT "send_data is :%d,%d,%d\n",send_data[0],send_data[1],send_data[2]);
	write1(nn1001_spi,send_data,16);
	//spi_write(nn1001_spi,send_data,16);
	mutex_unlock(&nn1001_lock);
	printk(KERN_ALERT "spi write end !");
	mod_timer(&nn1001_timer, jiffies+HZ);
	//add_timer(&nn1001_timer);
}
static int __devinit nn1001_probe(struct spi_device *spi)
{
	printk(KERN_ALERT "enter nn1001 probe function \n");
	nn1001_spi = spi;
	mutex_init(&nn1001_lock);
	struct nn1001_platform_data *pdata = nn1001_spi->dev.platform_data;
	if (pdata->power_enable)
	{
		printk(KERN_ALERT "enter power_enable \n");
		pdata->power_enable(1);
	}
	/* Call out to platform specific setup */
	if (pdata->board_specific_setup)
	{
		printk(KERN_ALERT "enter board_specific_setup\n");
		pdata->board_specific_setup(spi);
	}
	nn1001_spi->mode = SPI_MODE_0;
	nn1001_spi->bits_per_word = 8;
	printk(KERN_ALERT "start setup spi");
	spi_setup(nn1001_spi);
	init_timer(&nn1001_timer);
	nn1001_timer.expires = jiffies + 2*HZ;
	nn1001_timer.data = 123;
	nn1001_timer.function = nn1001_timeout_function;
	printk(KERN_ALERT "init timer end\n");
	add_timer(&nn1001_timer);
	printk(KERN_ALERT "add timer end \n");
}
static const struct spi_device_id nn1001_id_table[] = {
	{ "nn1001", SPI_NN1001},
	{ },
};
MODULE_DEVICE_TABLE(spi, nn1001_id_table);
static struct spi_driver nn