小编old*_*mer的帖子

错误:#29:需要 C 语言的表达式

我的代码包含

#define READ_TAMPER_PIN()   {((FIO2PIN & PIN_TAMPER) >> 12) ;}
Run Code Online (Sandbox Code Playgroud)

哪里PIN_TAMPER又是一个宏

 #define PIN_TAMPER     0x00001000;
Run Code Online (Sandbox Code Playgroud)

在头文件之一中,并在 main() 中调用它,如下所示

x = READ_TAMPER_PIN();  
Run Code Online (Sandbox Code Playgroud)

它给出一个错误“错误:#29:需要一个表达式”

我在这里犯的可能是什么错误?

c embedded arm keil arm7

6
推荐指数
1
解决办法
5万
查看次数

ARM程序集中.equ和.word之间的区别?

我很好奇 - 在定义常量时,ARM程序集中的.equ.word指令有什么区别?

assembly arm cortex-m3

6
推荐指数
2
解决办法
2万
查看次数

`b .` 在这个汇编代码中是什么意思?

所以我正在研究Redox OS(一个用 Rust 制作的操作系统)的源代码,看看我是否能学到一些东西。

我读的汇编文件的start.sbootloader的文件夹。在interrupt_vector_table标签中,我们有:

interrupt_vector_table:
    b . @ Reset
    b . 
    b . @ SWI instruction
    b . 
    b .
    b .
    b .
    b .
Run Code Online (Sandbox Code Playgroud)

究竟是b .什么?

我不是一个完整的组装初学者,我以前从未遇到过这种情况。

assembly arm gnu-assembler instruction-set

6
推荐指数
1
解决办法
1万
查看次数

在减法中携带旗帜

我正在使用MASM32.

使用此代码:

mov eax,5
sub eax,10
Run Code Online (Sandbox Code Playgroud)

将设置CF状态标志.但是使用我的铅笔和纸,我实际上发现MSB没有携带任何东西.是的,我知道从减去数量较少的数字集CF减去.但我想知道为什么?

因为使用此代码:

mov eax,5
mov ebx,10
not ebx
add ebx,1
add eax,ebx
Run Code Online (Sandbox Code Playgroud)

CF标志永远不会被设置.

x86 assembly masm status carryflag

5
推荐指数
1
解决办法
5991
查看次数

嵌入式C中的"预期声明"错误

我收到的错误就像是"预期的声明"

我的代码如下

#define IN_Tamper    0X00001000     /*P2.12 = EINT2*/
#define DIR_IN_Tamper    { FIO2DIR &= ~0X00001000 ; } 

/* main */
DIR_IN_Tamper(); 
if(((IN_Tamper >> 12) & 0x01) == 1)
            BUZZER_ON();
         else
            BUZZER_OFF();   
Run Code Online (Sandbox Code Playgroud)

我收到错误说

  1. 预期DIR_IN_Tamper()的声明;

  2. 期待对其他部分的陈述.....

c arm keil arm7

5
推荐指数
1
解决办法
2329
查看次数

llvm使用库函数进行优化

从这样的代码开始

void lib_memset( unsigned char *dest, unsigned char c, unsigned int n)
{
    while(n--)
    {
        *dest=c;
        dest++;
    }
}
Run Code Online (Sandbox Code Playgroud)

使用llvm作为交叉编译器

clang -Wall -m32 -emit-llvm -fno-builtin --target=arm-none-eabi  -c lib_memset.c -o lib_memset.bc
opt -std-compile-opts -strip-debug -march=arm -mcpu=mpcore -mtriple=arm-none-eabi lib_memset.bc -o lib_memset.opt.bc
llc -march=arm -mcpu=mpcore -disable-simplify-libcalls  lib_memset.opt.bc -o lib_memset.opt.s
llc -march=arm -mcpu=mpcore -disable-simplify-libcalls  lib_memset.bc -o lib_memset.s
Run Code Online (Sandbox Code Playgroud)

当使用优化器时,它会检测并用真实的memset替换它

lib_memset:
    push    {r11, lr}
    mov r3, r1
    mov r11, sp
    cmp r2, #0
    beq .LBB0_2
    mov r1, r2
    mov r2, r3
    bl  __aeabi_memset
.LBB0_2:                                @ %while.end …
Run Code Online (Sandbox Code Playgroud)

embedded optimization assembly arm bare-metal

5
推荐指数
1
解决办法
851
查看次数

如何在android中的范围搜索栏中设置两个拇指之间的范围?

我正在我的应用程序中使用范围搜索栏。它可以正常工作,但我的要求是设置两个拇指之间的距离。默认情况下,两个拇指彼此重叠,以防我的拇指彼此不重叠。

如何在范围搜索栏中设置两个拇指之间的范围?

下面是我的范围搜索栏类。在我的情况下,两个拇指之间的差异为3.如果两个拇指之间的差异为3,则拇指不能重叠。如何设置两个拇指之间的范围?

这是我使用的班级

public class RangeSeekBar<T extends Number> extends ImageView {
    private final Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG);
    private final Bitmap thumbImage = BitmapFactory.decodeResource(getResources(), R.drawable.seekcircle_blue);
    private final Bitmap thumbPressedImage = BitmapFactory.decodeResource(getResources(), R.drawable.seekcircle_red);
    private final float thumbWidth = thumbImage.getWidth();
    private final float thumbHalfWidth = 0.5f * thumbWidth;
    private final float thumbHalfHeight = 0.5f * thumbImage.getHeight();
    private final float lineHeight = 0.8f * thumbHalfHeight;
    private final float padding = thumbHalfWidth;
    private final T absoluteMinValue, absoluteMaxValue;
    private final NumberType numberType;
    private final …
Run Code Online (Sandbox Code Playgroud)

android range android-seekbar

5
推荐指数
1
解决办法
4069
查看次数

更改输入类型=“范围”拇指javascript的图像

当值发生变化时,我试图更改滑动范围的拇指图像。

问题是我不知道如何使用 javascript 作为选择器选择拇指。你能帮忙吗?

      <div class="slider-bar">
              <input type="range" id="myRange" min="0" max="10" value="0" />
        </div>

            input[type=range]::-webkit-slider-thumb {
                        -webkit-appearance: none;
                        border: none;
                        height: 50px;
                        width: 50px;
                        border-radius: 50%;
                        background:url(images/image.jpg) center no-repeat;
                        margin-top: -24px;
                        }
            input[type=range]:focus {
                        outline: none;
                        }
            input[type=range]::-moz-range-thumb {
                        border: none;
                        height: 50px;
                        width: 50px;
                        border-radius: 50%;
                        background:url(images/image.jpg) center no-repeat;
                        margin-top: -24px;}

var slider = document.getElementById("myRange");
    function xvalue () {
        var x = document.getElementById("myRange").value;
        console.log(x);
        if(x==1 && x==2 && x==3) {
            thumb.style.backgroundImage = "url('images/image1.jpg')";
        } else if (x==4 && x==5 …
Run Code Online (Sandbox Code Playgroud)

javascript input onchange range

5
推荐指数
1
解决办法
7667
查看次数

Z80汇编:如何将带符号的8位值添加到16位寄存器?

我写了一个Z80反汇编程序,它从我的SBC中的ROM运行.我需要做的最后一件事(暂时尚未发现的bug)是转换相对地址并将它们作为绝对地址输出,这样当反汇编程序遇到五个JR操作码变体之一时,它会显示绝对地址JR操作码指向.

JR操作码变体使用8位偏移值来告诉Z80跳转到内存的哪个位置.偏移量是单个有符号(-128 < - > 127)字节,我需要将其添加到HL寄存器中的当前存储器位置以获得绝对地址.

我的大脑似乎正在遭受严重的语法错误,甚至可能被零除,因为我不能为我的生活找出如何将一个8位带符号(或2的补码)字节添加到16位注册以获取绝对地址.已经搜索了互联网,没有答案即将到来.

任何人都可以提出解决方案或指出我正确的方向吗?

math assembly z80

5
推荐指数
1
解决办法
433
查看次数

如何访问/将模块输出投射到二头肌中的特定对象?

我的二头肌下方正在返回 keyvault。我喜欢访问父二头肌中 keyvault 中的属性/功能。但不知道将其用作模块时如何实现。

  1. 我有keyvault.bicep
    resource kv 'Microsoft.KeyVault/vaults@2019-09-01' existing = {
         name: kvName
         scope: resourceGroup(subscriptionId, kvResourceGroup )
       }
       output kv1 object=kv
Run Code Online (Sandbox Code Playgroud)
  1. 我有parent.bicep(其中 keyvault.bicep 作为模块包含在内)
   module kv './keyvault.bicep' = {
     name: 'get Secrets'
     params: {
       subscriptionId: subscriptionId
       kvResourceGroup: resourceGroupName
       kvName: keyVaultName
     }
   }
   var pwd= kv.outputs.kv1.getSecret('key')
Run Code Online (Sandbox Code Playgroud)
  1. 但 getSecret 方法在父二头肌中未知

请建议如何进行?

azure azure-resource-manager azure-devops infrastructure-as-code azure-bicep

5
推荐指数
1
解决办法
2471
查看次数