• STM32 Hal library realizes the serial port DMA transceiver mechanism of ping-pong cache and idle interrupt, which can easily run up to 2m baud rate


    preface Direct memory access(Direct Memory Access,DMA), allowing some devices to access data independently without CPU intervention. Therefore, when accessing a large amount of data, using DMA can save considerable CPU processing time. In STM32, the general DMA transmission direction is: memory – > memory, peripherals – > memory, memory – > peripherals. The peripherals here […]

  • Application of volatile in single chip microcomputer


    01、sketch A variable defined as volatile means that this variable may be changed unexpectedly, so the compiler will not assume the value of this variable. To be precise, when using this variable, the optimizer must carefully reread the value of this variable every time, rather than using the backup stored in the register. If there […]

  • Linux 0.11 source code reading notes – interrupt process


    Linux 0.11 source code reading notes – interrupt process What interrupt is it When an interrupt occurs, the computer will stop the currently running program, execute the interrupt handler instead, and then return to the original interrupted program to continue running. Interrupts include hardware interrupts and software interrupts,Hard interruptIt is automatically generated by peripherals,Soft interruptIt […]

  • Twice a week: Facebook global service is down again


    Following the six hour downtime on October 5, Facebook, instagram, WhatsApp and massage went down again on October 9.Twice a week: Facebook global service was interrupted twice a week: Facebook global service was interrupted again How much do modern people rely on social software? Imagine the day when wechat or other instant messaging and social […]

  • Linux 0.11 source code reading notes – block device driver


    Block device driver The block device driver is responsible for reading and writing block device data. Kernel code uses buffer blocks to exchange data with block devices (such as disks) indirectly, and buffer data exchanges data with block devices through block device drivers. Management of block devices Block equipment table The kernel passes a block […]

  • FreeRTOS learning record – task switching


    First of all, please refer to the code to understand the structure diagram. (1) What is task switching? Task switching is to find the highest priority ready task in the ready list, and then execute the task. (2) When does the task switch? 1) Perform task switching when performing system calls. 2) When the systick […]

  • Linux 0.11 source code reading notes – Summary


    summary Linux 0.11 mainly includes two parts: file management and process management. Process management includes memory management, process management and interprocess communication modules. File management includes disk file system and opens file memory data. Disk file system includes free disk block management, file data block management, file metadata management and tree structure directory. Open file […]

  • A tutorial on the use of interrupts and returns in Ruby Programming


    The use of the keywords return, break, and next involves jumping out of the scope. The difference between them lies in the different target scopes of different keywords. Because there are code blocks, there are some places that need special attention. returnCommon methods Generally, the meaning of the return statement is the same as what […]

  • STM32F407 CANopen master


    Stm32f407 controls CANopen slave station I have a previous article, can&canopen, which makes it clear what can communication is, without giving specific examples. In this article, I will use a specific example to better understand how to use it. Hardware preparation: stm32f407zgt6 development board + ixxat can card + driver supporting CANopen communication Objective effect: […]

  • Concurrent programming: threads


    Hello, I’m Xiao Hei, a migrant worker who lives on the Internet. Some time ago, the company interviewed people and found that although many small partners have two or three years of work experience, they don’t have a solid grasp of some basic java knowledge, so Xiaohei decided to start sharing some basic Java related […]

  • 07 cubemx + keil + Proteus simulation STM32 – exti


    The example of this paper refers to the development example of STM32 single chip microcomputer – based on Proteus virtual simulation and Hal / ll librarySource code:https://github.com/LanLinnet/STM33F103R6 Project requirements withSection 04, the normal state of the circuit is running water lamp. When the button btn0 is pressed, all 8 LED lights are on and off, […]

  • ASCII control character table


    Char # digraph # hex # Dec # official name # explain escape character^@Nu # 0x00 # 0 # null (nul) null character \ 0^A # sh # 0x01 # 1 # start of heading (soh)^B # SX # 0x02 # 2 # start of text (STX)^C # ex # 0x03 # 3 # end […]