随笔分类 - linux、单片机、USB、多点触摸
回想那年的嵌入式和裸机经历,全部都是满满的坑,一个只懂硬件的环境。出成绩是硬件的,出问题是软件的。
摘要:时钟 IO(输入、输出,如何配置) IO 数字和模拟资源可以通过25个I/O 引脚(C805 1F3 2 0 ),每个端口引脚都可以被定义为1 通用I/O(GPIO)或 0 模拟输入 所有端口I/O 都耐5V电压 端口I/O 单元可以被配置为漏极开路或推挽方式,口输出方式寄存器PnMDOUT 中设置
阅读全文
摘要:一:触发方式 STM32 的外部中断是通过边沿来触发的,不支持电平触发; 二:外部中断分组 STM32 的每一个GPIO都能配置成一个外部中断触发源,STM32 通过根据引脚的序号不同将众多中断触发源分成不同的组,比如:PA0,PB0,PC0,PD0,PE0,PF0,PG0为第一组,那么依此类推,我
阅读全文
摘要:使用TI的TM4C123G LaunchPad开发板,USB接口,来对同样的芯片进行烧写。 我们只用烧写那一块功能,不用另外一个芯片的开发功能,需要跳线 源码项目: 从官方网站TM4C123G,下载这个板的驱动、烧写程序、工程项目。 LMFlashProgrammer.msi 装完就有烧写程序、驱动
阅读全文
摘要:参考: 书籍,《圈圈教你玩USB》 C8051F单片机快速入门:http://www.waveshare.net/Left_Column/C8051F_Application_Notes.htm 《1》USB器件最底层的驱动编写; C8051F320.H C8051F320的定义 F32x_USB_
阅读全文
摘要:是自定协议,用到一个bulk in ep1, 一个bulk out ep2 端点 用虚拟串口的优点显而易见,上位机的编写非常方便,就按照常规的串口功能编写就可以了,而速度确还是usb的速度 USB要提速 1、使用自定义的Bulk传输 2、增加驱动的Buffer 用虚拟串口的优点显而易见,上位机的编写
阅读全文
摘要:用libUSB来实现自己的驱动+下位机理论速度。=1M字节每秒。 达到极限速度 WINDOWS已经自带虚拟串口驱动,只不过还需要一个Inf文件 方法1:直接下载一个串口inf,来修改文件。 方法2:用libUSB来实现自己的驱动。。。及应用。用那个工具安装成自己定义的设备名字,应用程序就根据PID,
阅读全文
摘要:详情:http://bbs.21ic.com/forum.php?mod=viewthread&tid=109584 USB 1.0的最高12Mbps. USB 2.0的高速模式480Mbps,全速模式12Mbps,低速模式1.5Mbps 而是设置STM32端的USART的波特率。PC与STM32传
阅读全文
摘要:DEMO4,LCD的clk干扰I2C,I2C无法通信。 把排针压下,去掉LCD的CLK,恢复正常。 过程: 直接跳线I2C,没问题。两排针插到一起就无法通信。 一个个的排针去除,最终找到LCD的CLK线。和I2C并排走线,导致干扰。 解决: LCD的CLK上加个电阻,减少干扰。能正常工作了。 其他问
阅读全文
摘要:1,用内核代码和规格书来印证数据格式: //命令3字节,IC地址 u8 end_cmd[3] = {GTP_READ_COOR_ADDR >> 8, GTP_READ_COOR_ADDR & 0xFF, 0}; //总长度 前 3个字节、最大点数*8、加1 u8 point_data[2 + 1 +
阅读全文
摘要:这个问题很常见, 花了差不多一个星期时间来解决。硬件相关的东西太多坑了,而且这些坑不像代码那样可见。 使用混合模式,每次最多报告2个点。如果是5点则需要上报三次。 问题就来了,atmel的CTP最块报点是3ms,3点以上就很卡。 发送USB数据总是没准备好,导致发送不成功,要等好几十ms才能继续发送
阅读全文
摘要:USB.C 读取bCommon判断执行哪个动作 if (bCommon & rbRSUINT)//0x02 // Handle Resume interrupt { Usb_Resume(); } if (bCommon & rbRSTINT) // Handle Reset interrupt { ...
阅读全文
摘要:更多细节请参考官方帮助文档 1,修改设备类型为自己的标识 InfWizard项目里,改掉资源文件LibUsb-Win32-LUDN.Driver.Resources。 原来的三处libusb-win32 devices改为自己想显示的名词,由于是资源文件,故字符数相同是最简单的改法。 然后编译好这个
阅读全文
摘要:一个atmel,mxt540e的CTP触摸屏。 中断配置为下降沿,输入上拉。 总是只能触发一次中断,中断脚就一直低电平,无法拉高。这只是表面现象 不停找底层I2C驱动,改代码,没用。要靠波形来说话 用逻辑分析仪,发现读完了数据,中断已经拉高。 然后过了几ms后,中断拉低,但没有触发中断。排除了CTP
阅读全文
摘要:半年多时间,成功由于软件码奴转型为电子码农。走了很多弯路,也吸取了很多高手的经验。完全走自学的路太难了,懂的人一句话可以说清楚的问题,自己去琢磨可能几天都没结果,浪费时间和精力,甚至减弱意志。幸运的是自学入门后直接做项目,有一些人可以请教。 还是从AM335X平台学起,这个平台资料全,原理图设计文件
阅读全文
摘要:AM335X简介: AM335X是TI(德州仪器)基于 ARM Cortex-A8内核的AM335X微处理器在图像、图形处理、外设和诸如 EtherCAT 和 PROFIBUS 的工业接口选项方面进行了增强。AM335X的优点有如下几个:第一:该器件是最便宜的Cortex A8 处理芯片,这个对中国
阅读全文
摘要:这个项目做了四个月。两周查找单片机内部AD做触摸屏的资料,两周时间选定既带USB又带AD的合适单片机。两周时间试验论证,画原理图。然后制作PCB板,最后调试工程代码。成功实验功能,只是第一步,调试飞点和过滤AD数据才是后面工作的难点。 1,实现原理,用C8051F系列的单片机,带有AD通和USB接口
阅读全文