自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 资源 (11)
  • 收藏
  • 关注

原创 博客摘录「 qnx之中断控制」2024年4月3日

qnx之中断控制_qnx 中断-CSDN博客

2024-08-25 12:26:44 103

原创 Cache

图解直接映射(Direct mapped)、全相联(Fully-associative)和组相联(Set-associative)cache缓存基本原理_直接映射全相联映射组相联映射-CSDN博客讲解Linux内核高速缓存(cache)原理(图例解析) - 知乎多路组相连cache(缓存)结构(multi-way set associate cache)

2024-01-08 09:39:15 546 1

原创 gcc编译优化

GCC编译优化指南_-freg-struct-return-CSDN博客Gcc优化选项-CSDN博客

2024-01-03 22:46:51 336 1

原创 Cmake

【代码】Cmake。

2023-04-11 11:14:30 76

原创 代码风格等设置

Clion、VS和vscode统一代码风格并一键格式化_clion格式化代码_u013250861的博客-CSDN博客

2023-03-18 17:17:14 174

原创 Linux常用设置

【代码】Linux常用设置。

2023-03-18 17:14:45 107

原创 TI DSP开发资料

TI C7x DSP 编程 (一) 简介DSP Training:PROCESSOR-SDK-RTOS-AUTOMOTIVE 06_02_00_21 - TI.com

2023-03-02 21:52:03 607

原创 vscode

vscode 设置等宽字体后,需要重启绘图才会生效。

2023-03-02 19:24:12 74

原创 Ubuntu18 安装98五笔

Ubuntu18 安装98五笔

2023-03-02 19:20:39 726 2

IMX323LQ-C.PDF

索尼IMX323 datasheet IMX323LQN-C Diagonal 6.23 mm (Type 1/2.9) CMOS Image Sensor with Square Pixel for Color Cameras Description The IMX323LQN-C is a diagonal 6.23 mm (Type 1/2.9) CMOS active pixel type image sensor with a square pixel array and approximately 2.12M active pixels. This chip operates with analog 2.7 V, digital 1.2 V, and interface 1.8 V triple power supplies. High sensitivity, low dark current and no smear are achieved through the adoption of R, G and B primary color pigment mosaic filters. This chip features an electronic shutter with variable integration time. (Applications: Consumer use drive recorder, Consumer use network camera) Features ◆ CMOS active pixel type dots ◆ Input clock frequency: 37.125 MHz ◆ Readout mode HD1080 p mode HD720 p mode ◆ Variable-speed shutter function (Minimum unit: One horizontal sync signal period (1XHS)) ◆ H driver, V driver and serial communication circuit on chip ◆ DCK sync mode supported ◆ CDS/PGA on chip 0 dB to 21 dB: Analog Gain 21 dB (step pitch 0.3 dB) 21.3 dB to 45 dB: Analog Gain 21 dB + Digital Gain 0.3 to 24 dB (step pitch 0.3 dB) ◆ 10-bit / 12-bit A/D converter on-chip ◆ CMOS logic parallel SDR Data-Clock output ◆ R, G, B primary color pigment mosaic filters on chip ◆ Recommended lens F value: 2.8 or more (close side) ◆ Recommended exit pupil distance: –30 mm to –∞

2020-05-07

studypay download, 在线ts流视频自动批量下载并供离线使用

studypay在线视频下载并保存为离线文件,可供离线观看(最新版本未验证),不需要再登录。 FlashBuilder如果编译是Base64,StringUtil等类提示错误,找不到,前FlashBuilder自带的某个库文件从引用中去掉;另外去掉自带的osmf库文件。 下载需要登录,需要用户名密码,登录之后会自动保存

2018-09-19

[原创]STM32源码项目,原理图SCH,PCB文件,CAN UART SPI-Flash 电源 四状态输入检测单元

这个实际上只调到了初步的PCB可运行UART可用,其它还未真正调试,但其中的设计及PCB,若有用,哥们们可参考一下 因没完全调试,源代码工程有部分多余代码,工程文件需要重新整理一下,当然如果板子有用,其实可以完全根据原理自己建工程,压缩包内有完整SCH,PCB,包括电源5V,3.3V,RS232,RS485,CAN,SPI-Flash,USB,IO电路。 主要实现的功能是一个多IO,多个232/485,一个CAN通信。 其中数字Input检测,通过两个IO检测四种状态:高,低,悬空,检测单元有问题。 该单元在SCH&PCB;目录下面有相应的Multisim仿真文件。 真值表: L1 H1 值 0 0 INX_LH1为高 0 1 检测单元问题,可能D6与D7之间断开或者INX_HL1电平 1 0 INX_HL1悬空,且检测单元OK;或者INX_HL1电平处于中值 1 1 INX_LH1为低 其它可交流方案: GPS车辆监控系统:终端原理图PCB源码整套(稳定成熟可接多个外设);平台整套源码。 LED屏:公交,出租等 原理图PCB;PC端软件等;PDA控制LED屏程序源码。 DVR:小型SD卡录像方案,可485拍照。 公交报站器,原理图PCB;PC端软件。51版,STM32版。 汽车电动台阶驱动板原理图PCB。 PDA扫描轮:条形码扫描,GPRS上传;终端原理图PCB源码整套,服务端源码 手持公交售票终端源码,可打印小票。终端价位特低。 稳定使用的固态继电器原理及PCB(光耦隔离控制双向可控硅)。 直流电机驱动板。

2013-01-13

开源一STM32项目,CAN,UART,Input检测 原创相对高效性能与代码重用平衡思路,可直接做工程模板

1、CAN收发队列 使用内存FIFO缓冲CAN帧,适合大数据量通信;并使用内部软中断处理CAN数据,相当于事件响应,综合应该比查询方式节省不少时间,也应该比OS调度省点时间。Can.C:底层处理,Communi.C:与应用层高相关。 应用层处理流程用函数指针表的方式调用减少代码量及阅读整齐;实现CAN各种错误记录机制。已初步测试,该机制可用。 CAN处理流程: 接收:CAN1_RX0_IRQHandler_Name (void), CAN1_RX1_IRQHandler(void) 接收中断,CAN_QueueWriteQuick()将当前的有效报文压入内存FIFO,压入的数据为整个CAN邮箱数据,所以后续的处理函数可以分辨出完整的数据。 void CAN1_RX0_IRQHandler_Name (void) // CAN1_RX0_IRQHandler_Name { /* FIFO从空状态开始,在接收到第一个有效的报文后,FIFO状态变为挂号_1(pending_1), 硬件相应地把CAN_RFR寄存器的FMP[1:0]设置为’01’(二进制01b)。 软件可以读取FIFO输出邮箱来读出邮箱中的报文,然后通过对CAN_RFR寄存器的RFOM位 设置’1’来释放邮箱,这样FIFO又变为空状态了。如果在释放邮箱的同时, 又收到了一个有效的报文,那么FIFO仍然保留在挂号_1状态,软件可以读取FIFO 输出邮箱来读出新收到的报文。 如果应用程序不释放邮箱,在接收到下一个有效的报文后,FIFO状态变为 挂号_2(pending_2),硬件相应地把FMP[1:0]设置为’10’(二进制10b)。 重复上面的过程,第三个有效的报文把FIFO变为挂号_3状态(FMP[1:0]=11b)。 此时,软件必须对RFOM位设置1来释放邮箱,以便FIFO可以有空间来存放下一个有效的 报文;否则,下一个有效的报文到来时就会导致一个报文的丢失。 */ while (CAN1->RF0R & CAN_RF0R_FMP0) // message pending ? { CAN_QueueWriteQuick(&CanRxQueue;, (T_CanFrame *)&CAN1;->sFIFOMailBox[CAN_FIFO0]); CAN1->RF0R |= CAN_RF0R_RFOM0; // Release FIFO 0 output mailbox #if CAN1_SWI_HANDLE_EN > 0 /* Add by Xsky 2011-06-18 15:48 */ EXTI->SWIER |= CAN1_SWI_EXTI_LINE; /* Add by Xsky 2011-06-18 15:47 */ #endif } } void CAN1_RX1_IRQHandler (void) { while (CAN1->RF1R & CAN_RF1R_FMP1) // message pending ? { CAN_QueueWriteQuick(&CanRxQueue;, (T_CanFrame *)&CAN1;->sFIFOMailBox[CAN_FIFO1]); CAN1->RF1R |= CAN_RF1R_RFOM1; // Release FIFO 1 output mailbox #if CAN1_SWI_HANDLE_EN > 0 /* Add by Xsky 2011-06-18 15:48 */ EXTI->SWIER |= CAN1_SWI_EXTI_LINE; /* Add by Xsky 2011-06-18 15:47 */ #endif } } 接收中断响应后,触发STM32的内部软中断(EXTI->SWIER |= CAN1_SWI_EXTI_LINE;), 实现当CAN硬件中断响应完成后,触发更低优先级的中断去处理内存中的CAN数据队列,如果处理时再发生新的CAN硬件接收中断,则会先响应硬件中断,以减少或不丢失CAN FIFO邮箱数据。处理函数在Communi.C中实现。 发送,CAN_SendFrame(): 发送时如果邮箱有空则直接将数据压入邮箱,否则将数据压入内存发送队列。等待上一次数据发送完成时,在发送中断中提取FIFO发送队列中的下一帧数据并发出。 Communi.C的功能为与应用层相关度较高的函数,如发送应用层帧,记录错误。 CAN1_SWI_Handler (void) 实现CAN接收中断触发的内部软件中断,处理内存FIFO接收的CAN数据(实际编译函数名为:EXTI4_IRQHandler())。 处理过程优化:通过定义顺序的code码,查表调用处理函数列表指针可实现比较整齐并有效率的代码机制。 CAN1_SCE_IRQHandler()实现进行错误记录(g_History.SysErrors.xxx以便于统计CAN错误)及相应处理。 个人认为这种处理方式,近似于OS的多任务,同时减少调度开销,是在可重用性与效率之间的平衡用法。当然这种处理方式,也适合于做为uCOS中的底层驱动文件,已留有CAN_QUE_OS_ENTER_CRITICAL()的宏定义,更改为相应的OS开关中断函数基本即可用于uCOS。 附 CAN总线利用率及最坏时间估算.xls, 根据应用层估计的数据发送频度最大值,自动估计CAN总线上导致的最大延时是否满足应用需求。 2、UART模板 UART DMA/中断处理方式 文件模板,可仅修改头部定义实现完全配置某指定的UART端口,以实现执行效率与代码重用的折中,UART.C,UARTx.H,UARTn.C。 UARTx.H为公共代码文件,#include被包含在UART1.C,、UART2.C、……中(用UARTn.C指代)实现所有的接收、发送的中断处理函数,在UARTn.C中宏定义各中断向量函数名以及各种硬件相关参数,定义接收发送的内存缓冲区长度等。代码实现DMA及中断响处理两种方式,通过宏定义选择编译不同代码,接收使用定时器实现字符超时指示功能,DMA接收时多使用了一级DMA接收专用内存缓冲RxDMABuf,因为DMA只能按地址连续写内存。 接收发送均使用内存缓冲区,以尽量避免中断响应时间导致的接收数据丢失问题,以及避免查询等待方式的较低效率。 发送函数:UART1_SendBytes(),UART2_SendBytes(),... 检查接收缓冲区字节数:UART1_RcvdSize() 读取指定的字节数:UART1_ReadBytes() 上层使用方法:循环检测UART1_RcvdSize()是否大于0,大于则进行读取等下一步处理,也可再定义高一级的应用层帧缓冲,以实现应用层的完整帧处理,或者增加一个对接收FIFO的预读功能,即读取时对接收FIFO中的帧进行识别,如果不是完整的应用层帧则再等待数ms或者再等待数次,等待失败则超时丢弃本帧,寻找下一帧。当然也可以在中断中增加事件机制,类似CAN中断触发低优先级软件中断,多个串口可在同一个软件中断服务中处理。 调试输出DbgPrintf函数,Function.C。 已使用大量连续数据测试该机制收发均可用,UART1~5均可用。使用本方式的考虑是在执行效率与代码重用间的平衡,部分代码使用了ST的库,如初始化时不时间使用不高时,而中断处理则基本是直接操作寄存器。并且均考虑了做为uCOS的接口,直接替换UARTx_ENTER_CRITICALx()、UARTx_EXIT_CRITICALx()函数应该可以基本实现做为uCOS的底层驱动。 注:包含UARTx.H的方式,各个UARTn.C文件重用其中代码, 某些情况下编译器可能会编译出错误的问题,具体原因还不明。但方法确实是可行的,已测试STM32F103VCT6 UART1~5均可。 3、用逻辑分析仪测定过的延时函数:Delay.C,内核72MHz,具体延时时间已注释标注. 如: void Delay_Nms(unsigned long N) { long count;//=14200; while(N) { count = 7998; /* 逻辑分析仪测试, 包含引脚取反时间 14200, 80ms: 142.026ms, 10000, 80ms: 100.025ms 8000, 80ms: 80.25ms 7975, 80ms: 79.775ms 7990, 100ms: 99.907ms 7998, 150ms: 150.01ms 7997, 150ms: 149.992ms */ while(count--); /* while(count--); 0x08001236 000A MOVS r2,r1 0x08001238 F1A10301 SUB r3,r1,#0x01 0x0800123C 4619 MOV r1,r3 0x0800123E D1FA BNE 0x08001236 */ N--; } } 4、输入检测 中断定时进行输入扫描,定义有效无效电平消抖时间,且定义按下弹起事件响应函数指针,应该会比循环扫描节省很多时间IOInput.C。已测试,机制完好。 // 常量表定义 typedef void t_IOIN_EVENT_DO(T_IOEvent); typedef uint8 t_IOIN_Counter; typedef struct t_IOIN_INFO_ { uint8 ID; // 输入信号索引 T_ValidVoltage ValidVoltage; // 有效电平,高电平或者低电平有效 __IO uint32_t *IDR; // 输入引脚指针 uint32_t PinBitMsk; // 输入引脚位掩码 t_IOIN_Counter CntValid; // 有效状态计数, 注意如果改变ValidVoltage, 此相应需要修改此参数,为确认该电平输入为有效电平的计数值,相当于滤波参数 t_IOIN_Counter CntInvalid; // 无效状态计数, 注意如果改变ValidVoltage, 此相应需要修改此参数,为确认该电平输入为无效电平的计数值,相当于滤波参数 t_IOIN_EVENT_DO *EventHandler; // 执行函数指针 }t_IOIN_INFO; static const t_IOIN_INFO IOIN_InfoTbl[IOIN_NUMS] = { // index, ValidVol, GPIO->IDR, IO_MASK, CNT, CNT~, EventHandler {IOIN_Key1, VOL_Low, &GPIOB;->IDR, BIT( 0), 4, 4, NULL }, {IOIN_Key2, VOL_Low, &GPIOB;->IDR, BIT( 1), 4, 4, NULL }, {IOIN_Key3, VOL_Low, &GPIOB;->IDR, BIT( 6), 4, 4, NULL }, {IOIN_Key4, VOL_Low, &GPIOB;->IDR, BIT( 7), 4, 4, KeyESC_Event }, {IOIN_CenterSensor, VOL_High, &GPIOC;->IDR, BIT( 7),10,10, ColorSensorEvent }, // 使其常态电平5ms推迟于颜色检测线(以检测), 有效电平2ms提早于颜色线 {IOIN_VacuumHousing,VOL_Low, &GPIOE;->IDR, BIT(12), 4,10, NULL }, {IOIN_BallCounter, VOL_Low, &GPIOE;->IDR, BIT(15), 4, 4, NULL }, {IOIN_Spin, VOL_Low, &GPIOE;->IDR, BIT(14), 3, 3, NULL }, {IOIN_ColorRed, VOL_Low, &GPIOD;->IDR, BIT( 8),16, 6, NULL }, // 使常态电平3ms提前于庶断传感器, 有效电平8ms推迟于遮断传感器 {IOIN_ColorGreen, VOL_Low, &GPIOD;->IDR, BIT( 9),16, 6, NULL }, {IOIN_ColorBlue, VOL_Low, &GPIOD;->IDR, BIT(10),16, 6, NULL } }; 使用时主要修改以上这张表的指向及消科参数,并且对中断处理函数中的顺序或者扫描的最小间隔进行区分即可。 5、颜色传感器驱动 颜色传感器TCS3200D驱动ColorSensor.C。已测试,机制完好。测量频率范围 20Hz~120KHz, S0:S1:HL。 6、铁电驱动 SPI方式读写铁电,实现片写片读函数Spi_FRAM.C;参数及历史记录读写检测函数GameParam.C。 7、其它一些可参考的模板、文件、函数、或者小的方式方法等。 by Xsky 原创STM32项目处理方法(其中个别有文件为直接用的,已注明,如周立功的)。 仅供参考交流,QQ:1821587421 其它可交流方案: GPS车辆监控系统:终端原理图PCB源码整套(稳定成熟可接多个外设);平台整套源码。 LED屏:公交,出租等 原理图PCB;PC端软件等;PDA控制LED屏程序源码。 DVR:小型SD卡录像方案,可485拍照。 公交报站器,原理图PCB;PC端软件。51版,STM32版。 汽车电动台阶驱动板原理图PCB。 PDA扫描轮:条形码扫描,GPRS上传;终端原理图PCB源码整套,服务端源码 手持公交售票终端源码,可打印小票。终端价位特低。 稳定使用的固态继电器原理及PCB(光耦隔离控制双向可控硅)。 直流电机驱动板。

2013-01-13

华为PPP专题资料

华为PPP专题资料 在提及PPP协议时,不可不提及它的老祖宗SLIP(Serial Line Internet Protocol ) 协议。虽然它已被淡忘在历史的长河中,但毕竟有过辉煌的日子。它曾经主 载了Internet半边江山,人们不仅可以通过在计算机上安装该协议实现浏览 Internet的梦想,而且还可以互连许多网络设备(如路由器与路由器的互连、 路由器与主机的互连和主机与主机的互连)。随着网络技术的不断日新月异, 特别是计算机技术的发展,人们开始渐渐认识到使用SLIP协议已不能满足日 益增长的网络需求,如何在串行点对点的链路上封装IPX、AppleTalk等网络 层的协议呢?这就给我们网络专家提出了新的挑战,也为PPP协议的出现提 供了契机,PPP由于自身的诸多的优点已成为目前被广泛使用的数据链路层 协议。

2011-12-22

华PPP专题资料

华为PPP专题资料 在提及PPP协议时,不可不提及它的老祖宗SLIP(Serial Line Internet Protocol ) 协议。虽然它已被淡忘在历史的长河中,但毕竟有过辉煌的日子。它曾经主 载了Internet半边江山,人们不仅可以通过在计算机上安装该协议实现浏览 Internet的梦想,而且还可以互连许多网络设备(如路由器与路由器的互连、 路由器与主机的互连和主机与主机的互连)。随着网络技术的不断日新月异, 特别是计算机技术的发展,人们开始渐渐认识到使用SLIP协议已不能满足日 益增长的网络需求,如何在串行点对点的链路上封装IPX、AppleTalk等网络 层的协议呢?这就给我们网络专家提出了新的挑战,也为PPP协议的出现提 供了契机,PPP由于自身的诸多的优点已成为目前被广泛使用的数据链路层 协议。

2011-12-22

Modem的文件传输协议与AT命令集

同其他数据通信方式类似,Modem间的通信也需要利用协议来完成。一般称这些协议为文件的传输协议。其中较著名的有X Modem协议、Y Modem协议、Z Modem协议、KERMIT协议等。需要注意的是,由于Modem间通信的协议有多种,因此并非任意两台Modem间都能进行正常通信,能够相互通信的Modem必须遵守相同的协议。 主要介绍了XMODEM,YMODEM,ZMODEM,KERMIT文件传输协议

2011-12-22

Win7系统下VS2005_2008不识别WinCE5 SDK

[转]在Windows 7操作系统下,使用VS2005/2008开发WinCE智能设备应用程序的时候,识别不到机器上已经安装好了的WinCE5 SDK。问题解决后,将搜集的资料做一下总结。

2011-12-22

使用托管代码开发WINCE自带数据库

《在Windows Mobile上使用WINCE自带数据库》中,讲述了在Windows Mobile上使用native code来开发WINCE自带数据库的方法,并给出了例子。现在很多人都使用C#来开发windows mobile上的应用程序,因此,有必要给出这个“使用托管代码开发WINCE自带数据库”的例子。这篇文章参考了Joao Paulo Figueira在2005年写的文章《CEDB .NET》,并对作者给出的代码稍微地做了一下修改,源代码下载链接在文章的最后给出。

2011-12-22

verilog黄金参考指南中文版.pdf

verilog黄金参考指南中文版.pdf Verilog 黄金参考指南是Verilog 硬件描述语言及其语法语义合并以及将它应用到硬件设计的一个 简明的快速参考指南 Verilog 黄金参考指南并不是要代替IEEE 的标准Verilog 语言参考手册它不像IEEE 的标准手册提供 了Verilog 完整正式的描述相反黄金参考指南以一种方便的参考格式解答了在Verilog 的实践应用过 程中经常遇到的问题 Verilog 黄金参考指南也不想成为介绍性的指南这里所提出的信息是一种扼要的参考格式而不是学 习像Verilog 这种复杂的主题所必要的渐进和共鸣方式但必须承认的是已经熟悉计算机语言的人希望将这 个参考指南作为Verilog 的课本因此在开始本指南就会对这个主题进行一个简单的非正式介绍 Verilog 黄金参考指南的主要特征是它包含了从许多Verilog 项目中积聚起来的大量实践知识指南不 仅提供方便的语法参考很多类似的书也有还对最常见的语言错误提出警告在代码不能编译的时候给 出线索指出要看什么地方警告你注意合并问题并对改善你的编码形式提出建议 Verilog 黄金参考指南是为了给Doulos 的系列Verilog 训练课程增值也是HDL PaceMaker Doulos Verilog 计算机基础训练包的补充。

2009-12-27

Verilog HDL数字设计与综合(第二版).

Verilog HDL数字设计与综合(第二版). 国外电子与通信教材系列 符合Verilog HDL IEEE 1364-2001标准

2009-12-27

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除