ttkkxx

    1. 好书,感谢楼主分享。
    2.                                  在速度在 48 M 一下的时候 STM32 要快点 48M 以上的时候 速度就差不多了! 在 72M 的时候 STM32  还比 NUC M0 慢点!   所以以后在使用的时候 最好就在 24M 这样 性能还可以 功耗也比较低! 当跑 72 的时候 实际的运行速度没有提供多少 ! 但是功耗就大了不少!
    3. 光通讯接口器件咨询 5/3940 stm32/stm8 2011-02-22
                                       有 专门的 ttl 低速光模块 100以内价格(2006年)
    4. 建了一个STM8群 4/3352 stm32/stm8 2010-10-26
                                       群??207 103 208 都带??我有啊
    5.                                  用PWM输入来实现
    6. 你在中断程序中直接做肯定更容易丢数据,这种需求是绝对不能这么做的,你可以设计个队列,中断程序里只要把数据塞到队列里,其他都不管,然后中断外读取队列的数据保存或者显示,这样肯定是不会丢数据的,不过是有些延迟的,有延迟也可以通过设计有优先级的队列来保证重要的数据优先处理,这样可以保证处理质量
    7. 什么是5v容忍? 13/9275 stm32/stm8 2010-06-07
                                       有什么特别的需求,为什么非要选非5V容忍管脚?
    8. c语言---avr单片机 18/6817 编程基础 2010-06-06
      教科书咯,呵呵,还是边看以前的教科书,然后边做单片机实验。遇到问题,网络能帮上你忙的。
    9.                                  没关系
    10. 【申精】精品嵌入式资料导航 16/5222 嵌入式系统 2010-05-11
      呵呵,不客气
    11. STM8批量编程碰到解保护的问题 23/8429 stm32/stm8 2010-05-04
                                       
      呵呵,不客气 作为一个公司的员工或者管理人员,是应该夸奖的,因为解决了问题,或者找到解决方法。 原来FlashRunner可能也是使用脚本的方式来实现离线编程,这个和我在准备的Versaloon离线编程一样。 51过后,偶 ...
      嗯,Flashrunner是采用脚本方式实现离线编程的。 因为是国外的产品,老外的很多设计理念无论是客户还是我们都还在慢慢适应,我们的FAE也是一边探索,一边前进。
    12. STM8批量编程碰到解保护的问题 23/8429 stm32/stm8 2010-04-29
                                        呵呵,为什么会浪费1秒多钟去等重新上电?不等这一秒多就可以unprotect就好了,楼主是不是这个意思? 我在这可以宣告说,EP868不需要等这1秒多。 至于技术细节,你们可以去请教ST,呵呵。 并不是只有SMH这样的外国公司才有资格谈技术的、、、
    13. DirectShow 视频捕捉设备的操作问题 3/3172 嵌入式系统 2010-04-21
      因为接下来的操作,都是dshow封装起来的操作,你不会直接操作句柄。
    14. 忘了说了,晶振是11.0592。这个故障还很奇怪,我发送的数据都是十六进制“60 61 62 63 64 65 66 67 68 69 70”不变,当我把TH1和TL1设为fa时单片机波特率应该是9600,可收到的数据是“20 18 E6 C0 D8 E0 1E FE”或“20 F8 C0 D8 E0 1E FE”,而把TH1和TL1设为fb时单片机的波特率应该就不是9600了,可是收到“60 0E 6C 9C F2 1E EC”或者“60 1E 9C EE EE 6E 80”,其中第一个对的。另外不知大家发现没有,我发送的数据一共是11个,但不管怎么设都只能收到8个或7个数据,我个人怀疑是第一个以后的数据在传输过程中丢失或者上位机与下位机的译码方式不一致。至于起因可能就是楼上说的缓冲区问题,不知大家是什么意见。 另外楼上的xmjulytiger大哥提到建缓冲区,我想问一下这缓冲区怎么建呢?用汇编语言便能实现吗?
    15. 汇编实现公历转农历 12/4397 嵌入式系统 2010-04-06
      公历转农历没有现成的算法(确切说是没有我们一般人能算的算法,是天文学家算出来的),公历和农历的转换都是直接查表,这些表是天文学家精心算出来的,基本上是用多少算多少,比如100年之内的。如果你细心观察会发现,当前的电子万年历产品就没有100年以外的农历,其实那并不是因为rom不够装不下那么多数据,其实是....还没算出那么多年的农历呢。
    16. 求助一个信号量的问题 13/5403 嵌入式系统 2010-04-02
      接收数据(收任务)——回复确认(收任务,为了较快发送)——需要发送数据(发任务)——向收站请求发送(发任务)——收站允许发送(收任务)——发送数据(发任务)——收到确认(收任务)。 在收过程中,是不是“接收数据(收任务)” 发生后,以后的过程都是顺序执行的?
    17. 操作系统中的进程问题 1/2470 嵌入式系统 2010-03-21
      补充一下,只考虑三种基本状态:运行、等待、就绪
    18. 深圳应该最多了...
    19. 硬件仿真,程序烧写 8/3993 stm32/stm8 2010-03-08
                                       有没换个仿真器试一下
    20. To redirect a file-open or file-creation operation to another file, a file system filter driver does the following: In the handler of IRP_MJ_CREATE, obtains the file name (FileName field) from the FILE_OBJECT. Replaces this name with the full name of the destination file. This full name includes the name of the volume device object (for example, Device\HardDiskVolume0\Directory\MyFile.txt). You can substitute your own buffer to the existing FileName.Buffer present in the FILE_OBJECT. In this case, allocate your buffer from NonPaged pool memory, free the original FileName.Buffer by using ExFreePool, and then replace FileName.Buffer with your buffer. Sets the status field of the IoStatus block to STATUS_REPARSE, and then sets the Information field to IO_REPARSE. Completes the request. Returns STATUS_REPARSE. The IO Manager then triggers another file-open operation and sends an IRP_MJ_CREATE, taking into account the particular file name. The destination file can be local or on a remote computer. To redirect the file-open operation to a remote file, use the following syntax for the file name: "\??\UNC\HostName\Share\File" -or- "\Device\Mup\HostName\Share\File" -or- "\Device\LanmanagerRedirector\HostName\Share\File" (assuming you are targeting a file on CIFS/SMB/LanManager) The fact that the first create-file operation is performed relative to another file object does not matter. Do not modify the RelatedFileObject field of the FILE_OBJECT. To perform the reparse operation, the IO Manager considers only the FileName field and not the RelatedFileObject. Additionally, the IO Manager frees the RelatedFileObject, as appropriate, when it handles the STATUS_REPARSE status returned by the filter. Therefore, it is not the responsibility of the filter to free that file object. There is a fixed limit concerning the number of nested reparse operations that the IO Manager can perform. This limit has been introduced to avoid infinite loops. The maximum number of nested reparse operations the system can perform is 32. This reparsing method performed by the IO Manager has to be disassociated from reparse points. Reparse points have been introduced in NTFS, starting with Microsoft Windows 2000. Reparse points permit you to store information together with a file. NTSTATUS SfCreate (     IN PDEVICE_OBJECT DeviceObject,     IN PIRP Irp     ) {         PIO_STACK_LOCATION                IrpSp;         PUNICODE_STRING                FileName;         PVOID                        FileNameBuffer;         UNICODE_STRING                NewFileName;         BOOLEAN                        bRedirectFileOpen = FALSE;         //         //  If the device being opened is the primary device object instead of a         //  filter device object, just indicate that the operation worked.         //         if (DeviceObject == FsDeviceObject)         {                 //                 //  Allow users to open the device that represents our driver.                 //                 Irp->IoStatus.Status = STATUS_SUCCESS;                 Irp->IoStatus.Information = FILE_OPENED;                 IoCompleteRequest( Irp, IO_NO_INCREMENT );                 return STATUS_SUCCESS;         }                 IrpSp = IoGetCurrentIrpStackLocation(Irp);         //         // At this point, you must determine whether you want to redirect         // the file open/create for this particular file.         // Beware that the file name from the FILE_OBJECT in the current         // IRP stack location is not always the file name with the full         // path, nor the long file name or even a name. The way the file is         // opened (with full path, relatively to another file, with short         // or long file name, by ID, ...) affects this name.         //         // TODO: Put your code here to check whether you have to redirect the operation.         // If so, set bRedirectFileOpen to TRUE and initialize the NewFileName         // UNICODE_STRING to the full file name of the destination file.         //         if ( bRedirectFileOpen )         {                 FileName = &(IrpSp->FileObject->FileName);                 FileNameBuffer = ExAllocatePool( NonPagedPool, NewFileName.MaximumLength );                 if (!FileNameBuffer)                 {                         //                         // Not enough resources. Complete the IRP with the appropriate status.                         //                         Irp->IoStatus.Status = STATUS_INSUFFICIENT_RESOURCES;                         Irp->IoStatus.Information = 0;                         IoCompleteRequest( Irp, IO_NO_INCREMENT );                         return STATUS_INSUFFICIENT_RESOURCES;                 }                 ExFreePool( FileName->Buffer );                 FileName->Buffer = FileNameBuffer;                 FileName->MaximumLength = NewFileName.MaximumLength;                 RtlCopyUnicodeString( FileName, &NewFileName );                 //                 // Instruct the IO Manager to reparse this file.                 //                 Irp->IoStatus.Status = STATUS_REPARSE;                 Irp->IoStatus.Information = IO_REPARSE;                 IoCompleteRequest( Irp, IO_NO_INCREMENT );                 return STATUS_REPARSE;         }         else         {                 //                 // Pass the request "as is" down the device stack.                 //                 //                 // The next driver will get the IO_STACK_LOCATION                 // that you received.                 //                 IoSkipCurrentIrpStackLocation( Irp );                         //                 // Call the appropriate file system driver with the request.                 //                 // TODO: Replace AttachedToDeviceObject by the device                 // object pointer your device object is attached to (the                 // lower device object in the stack).                 // Typically, this device object pointer is saved by your                 // filter in your device extension.                 //                 return IoCallDriver( AttachedToDeviceObject, Irp );         } } 复制代码

最近访客

< 1/1 >

统计信息

已有92人来访过

  • 芯积分:1
  • 好友:--
  • 主题:9
  • 回复:65

留言

你需要登录后才可以留言 登录 | 注册


现在还没有留言