(筆記) 常用設定暫存器值的編程技巧 (SOC) (C/C++) (C) (Verilog)

Abstract
設定暫存器值是寫firmware時最常見的控制,本文歸納出C語言在寫firmware時常見的編程技巧,並與Verilog相互對照。

Introduction
本文將討論以下主題:

1.將某bit強制設為1

2.將某bit強制設為0

3.將某bit做toggle (0變1,1變0)

4.判斷某bit是否為1

5.判斷某bit是否為0

1.將某bit強制設為1

C語言

Verilog

2.將某bit強制設為0

C語言

Verilog

3.將某bit做toggle (0變1,1變0)

C語言

Verilog

4.判斷某bit是否為1

C語言

Verilog

5.判斷某bit是否為0

C語言

Verilog

全文完。

Original: https://www.cnblogs.com/oomusou/archive/2011/10/02/register_c_verilog.html
Author: 真 OO无双
Title: (筆記) 常用設定暫存器值的編程技巧 (SOC) (C/C++) (C) (Verilog)

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/535028/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • C++源码—lock_guard

    在 C++11 中,我们可以使用 mutex 来实现线程的同步,mutex 包括上锁和解锁两个步骤。 lock_guard 的功能也是实现线程同步,可以进一步偷懒以及避免在锁定期间…

    C++ 2023年5月29日
    042
  • C/C++知识点记录

    1. strcpy 的部分理解char strcpy(char dest, const charsrc){while(dest++=src++)return dest-1;}这是s…

    C++ 2023年5月29日
    068
  • [C++]assert的加强版——Ensure的简易实现

    Ensure用法如: ENSURE(0 断言失败时,会打印: Failed: 0 概括来说,Ensure至少包括以下特性: 1) 不区分debug和release,始终生效。 2)…

    C++ 2023年5月29日
    051
  • 设计模式C++实现——工厂模式

    软件领域中的设计模式为开发人员提供了一种使用专家设计经验的有效途径。设计模式中运用了面向对象编程语言的重要特性:封装、继承、多态,真正领悟设计模式的精髓是可能一个漫长的过程,需要大…

    C++ 2023年5月29日
    049
  • Delphi XE8,C++ Builder XE8,RAD Studio XE8 官方 ISO 文件下载,附激活工具

    RAD Studio XE8 v22.0.19027.8951 官方ISO下载(6.72G):http://altd.embarcadero.com/download/radstu…

    C++ 2023年5月29日
    085
  • 【转载】C++中替代sprintf的std::ostringstream输出流详解

    一、简单介绍 ostringstream是C++的一个字符集操作模板类,定义在sstream.h头文件中。ostringstream类通常用于执行C风格的串流的输出操作,格式化字符…

    C++ 2023年5月29日
    052
  • c++ set与unordered set的区别

    c++ std中set与unordered_set区别和map与unordered_map区别类似,其底层的数据结构说明如下: 1、set基于红黑树实现,红黑树具有自动排序的功能,…

    C++ 2023年5月29日
    056
  • 29.qt quick-在QML中调用C++类

    Qt Quick文章已移植到CSDN博客:https://blog.csdn.net/qq_37997682/category_11280267.html,本博客停止更新。 专栏入…

    C++ 2023年5月29日
    063
  • [C++] 类的成员变量和成员方法

    类具有成员变量和成员方法 成员变量用来描述某个对象的具体特征,是静态的,也称为成员属性,这些属性一般设置为私有,仅供类的内部使用。 成员方法用来描述某个对象的具体行为,是动态的,也…

    C++ 2023年5月29日
    079
  • (筆記) 如何讀取binary file某個byte連續n byte的值? (C/C++) (C)

    Abstract通常公司為了保護其智慧財產權,會自己定義檔案格式,其header區會定義每個byte各代表某項資訊,所以常常需要直接對binary檔的某byte直接進行讀取,且連續…

    C++ 2023年5月29日
    056
  • C++解决share_ptr造成的循环引用

    参考链接:https://blog.csdn.net/yc2zgh1314/article/details/51264963 https://www.cnblogs.com/dua…

    C++ 2023年5月29日
    056
  • C++11多线程

    在C++11之前,C++语言层面是不支持多线程的,想利用C++实现并发程序,借助操作系统的API实现跨平台的并发程序存在着诸多不便。在C++11中,终于提供了多线程的标准库,提供了…

    C++ 2023年5月29日
    058
  • c++ 条件变量

    http://blog.csdn.net/hemmanhui/article/details/4417433 互斥锁:用来上锁。 条件变量:用来等待,当条件变量用来自动阻塞一个线程…

    C++ 2023年5月29日
    048
  • 对指针和引用的理解(c++)

    1.指针 typedef说明一种新类型名,来代替已有类型名。 a.案例:typedef char String_t和#define String_d char 这两句在使用上的区别…

    C++ 2023年5月29日
    064
  • C++ 使用静态链接库和动态链接库

    C++ 使用AdbHelper静态链接库 ## 必备文件:静态库AdbHelper.h,AdbHelper.lib以及动态库AdbHelper.dll ##   资源文件使用用法:…

    C++ 2023年5月29日
    057
  • C++多线程库的常用模板类 std::lock_guard

    格式:类名 + 头文件 + 用例 + 解释说明 解释说明: C++标准库为互斥量提供了一个RAII语法的模板类 std::lock_guard,在构造时对互斥量上锁,并在析构的时进…

    C++ 2023年5月29日
    069
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球