-
学习一下。
-
看附件。
-
lz CAN调试怎么样了?
盼lz出一个BeagleBone CAN 配置调试文档。:)
-
我也想买,有啥优惠活动没?
-
我也想买?有啥优惠活动没?QQ:527973684
-
我也想买,有什么优惠活动否?
QQ:527973684
-
我需要
-
0x50、0x51等上面显示数字的代表什么呢
我在i2c-3下挂了一个AD/DA芯片PCF8591,地址0x48,i2cdetect -r 3后显示的不是UU,是48
怀疑是内核里没有PCF8591的驱动?
-
这个问题已经解决了,理解下下面几行代码:
struct termios new_cfg;
struct termios old_cfg;
int speed;
if (tcgetattr(fd, &old_cfg) != 0)
return TCGETATTR_ERR;
//pay attention to this setting
new_cfg = old_cfg;
cfmakeraw(&new_cfg);
new_cfg.c_lflag |= ICANON;
new_cfg.c_cflag &= ~CSIZE;
-
[img]file:///C:/Users/admin/AppData/Roaming/Tencent/Users/527973684/QQ/WinTemp/RichOle/4T14FA542N@K7[N0$J@LZUJ.jpg[/img]
-
貌似plat/gpmc.h文件里没有它的定义呀
还有SZ_2K
SZ_4K的宏定义???在哪呀
-
不知道楼主的应用程序调的时候是不是也出现这种情况了,怀疑是它的驱动FIFO设置成16个字节的
-
没出现象是因为管脚复用没设置
为啥一次发送,接收会分成多次,比如一次发送12个字节,接收程序会一次接收,如果发送18个字节,接收程序就会分成两次接收,一次16个字节,一次2个字节???
-
最近在调试串口,使用的是自己编译的内核,应用程序应该问题不大,使用/dev/ttyO1,UART1,RX与TX脚相连,自发自收,出不来现象,我的应用程序大致代码如下:
...
fd = open("/dev/ttyO1", O_RDWR | O_NOCTTY | O_NDELAY);
...
if (set_uart_config(fd, 115200, 8, 'N', 1) < 0)
{
printf("ERROR: SET_UART_CONFIG\n");
return -1;
}
...
do
{
printf("enter(enter 'quit' to exit):");
memset(buf, 0, BUF_SIZE);
if (fgets(buf, BUF_SIZE, stdin) == NULL)
{
printf("ERROR: FGETS\n");
break;
}
write(fd, buf, strlen(buf));
memset(buf, 0, BUF_SIZE);
if (read(fd, buf, BUF_SIZE) > 0)
{
printf("recv:%s", buf);
}
}while(strncmp(buf, "quit", 4));
不知道是什么原因,楼主可否分享下您的串口代码?
-
你自己编译的内核里是没有这个文件的,这个是出厂系统里带的驱动
-
希望大家有时间能互相交流,本人QQ:527973684,我最近建了一个QQ群,247421046
有兴趣的朋友可以加一下,大家互相讨论讨论,应该有好处。
-
不好意思,之前加了安全问题,现在取消了,另外,QQ群号发错了,是:247421046
-
这个是选GPIO是输入口还是输出口,在这之前应该还要选择这个引脚是作GPIO用还是作其他功能,这个好像只能用寄存器映射的方式了,要不就要修改内核里的mux.c文件。
-
希望大家有时间能互相交流,本人QQ:527973684,我最近建了一个QQ群, 2884819993有兴趣的朋友可以加一下,大家互相讨论讨论,应该有好处。
-
chenzhufly,您好,谢谢您共享的驱动代码,学习了,您的驱动代码里包含了palt/mux.h头文件,但驱动里好像您没有对多路复用的端口进行配置,虽然启动好后默认选择MODE7,GPIO。plat/mux.h(包括mach-omap2/mux.h)里提供的函数实现代码里都是__init修饰的,应该不能在内核模块里调用。不知道有没有什么好的方法对复用的端口进行配置,目前,我使用的是原始的方法,I/O内存访问:
if (request_mem_region(CONF_LED0, 16, "led0-3") == NULL)
{
PDEBUG("request_mem_region error\n");
return -EBUSY;
}
PDEBUG("request_mem_region success\n");
g_p_ctrl_led0 = ioremap(CONF_LED0, 4);
if (NULL == g_p_ctrl_led0)
{
PDEBUG("ioremap led0 error\n");
return -EIO;
}
PDEBUG("ioremap led0 success, p = %p\n", g_p_ctrl_led0);
......
最原始的
不知道内核里有没有相关的函数直接配置?