⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 uart.c

📁 2410串口在LINUX下的通讯 编译后放在板子上
💻 C
字号:
#ifndef __KERNEL__
#define __KERNEL__
#endif
#ifndef MODULE
#define MODULE
#endif

#include <linux/config.h>
#include <linux/module.h>
#include <linux/errno.h>

#ifdef CONFIG_SMP
#define __SMP__
#endif

MODULE_LICENSE("GPL");

#include <asm/hardware.h>
#include <asm/irq.h>
#include <linux/delay.h>

#include <asm/uaccess.h>
#include <linux/fs.h>
#include <linux/kernel.h>
#include <linux/sched.h>
#include <linux/types.h>

//后来加的头文件
/*
#include <linux/init.h>
#include <linux/slab.h>
#include <linux/console.h>
#include <linux/serial_core.h>
#include <asm/arch/cpu_s3c2410.h>
#include <asm-arm/arch-s3c2410/S3C2410.h>

*/

 

             



#define DEBUG(str,args...)printk ("device_test:"str,##args)
int test_major = 0;

static void s3c2410uart_rx_interrupt(int irq, void *dev_id,
				     struct pt_regs *regs) ;
static int open_uart(struct inode *inode,struct file *file )
{

}

static int read_uart(struct file * pfile, char * data, size_t ncount , loff_t * nszie)
{

}

static int write_uart(struct file *pfile,const char *data,size_t ncount,loff_t *nsize)
{

}


static int release_uart(struct inode *inode, struct file *file)
{

}

static struct file_operations test_fops ={
	owner: THIS_MODULE,
	open: open_uart,
	read: read_uart,
	write: write_uart,
	release: release_uart,
	};
	


int cleanup_module(void)
{
	unregister_chrdev(test_major,"uart");
	return 0;
}



static void s3c2410uart_rx_interrupt(int irq, void *dev_id,
				     struct pt_regs *regs) 
			{


			}


int init_module(void)
{
	int result;
	DEBUG("init module\n");
	
	result = register_chrdev(0,"uart",&test_fops);
	if(result<0)
	{
		DEBUG("error!");
		return result;
	}
	if(test_major == 0)
	{
		test_major = result;	
	}
	
	return 0;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -