mirror of
https://github.com/BreizhHardware/cours-ISEN-MD.git
synced 2026-03-18 21:50:46 +01:00
Obisidian vault auto-backup: 31-03-2025 14:45:08 on macbook-air-de-felix. 3 files edited
This commit is contained in:
6
.obsidian/workspace.json
vendored
6
.obsidian/workspace.json
vendored
@@ -128,7 +128,7 @@
|
||||
}
|
||||
}
|
||||
],
|
||||
"currentTab": 2
|
||||
"currentTab": 1
|
||||
}
|
||||
],
|
||||
"direction": "vertical"
|
||||
@@ -299,10 +299,10 @@
|
||||
"obsidian-git:Open Git source control": false
|
||||
}
|
||||
},
|
||||
"active": "dd68e5b05b3d11c5",
|
||||
"active": "05fb2e0f4e86352f",
|
||||
"lastOpenFiles": [
|
||||
"ISEN/STM32/CIPA3/STM32 Cours 3.md",
|
||||
"ISEN/STM32/CIPA3/STM32 Cours 2.md",
|
||||
"ISEN/STM32/CIPA3/STM32 Cours 3.md",
|
||||
"ISEN/STM32/CIPA3/STM32 Cours 1.md",
|
||||
"ISEN/Maths/CIPA3/DM1.md",
|
||||
"gitignore.md",
|
||||
|
||||
@@ -65,31 +65,38 @@ Bit masking has the following purpose
|
||||
### Masking on the higher nibble
|
||||
| | 1001 0101 |
|
||||
| :-: | :-------: |
|
||||
| OR | 0000 1111 |
|
||||
| AND | 0000 1111 |
|
||||
| = | 0000 0101 |
|
||||
### Masking on the lower nibble
|
||||
| | 1010 0101 |
|
||||
| :-: | :-------: |
|
||||
| OR | 1111 0000 |
|
||||
| AND | 1111 0000 |
|
||||
| = | 1010 0000 |
|
||||
## Querying Status Bit
|
||||
### Check Status bit 3
|
||||
| | 1001 1101 |
|
||||
| :-: | :-------: |
|
||||
| AND | 0000 1000 |
|
||||
| OR | 0000 1000 |
|
||||
| = | 0000 1000 |
|
||||
|
||||
| | 1001 0101 |
|
||||
| :-: | :-------: |
|
||||
| AND | 0000 1000 |
|
||||
| OR | 0000 0000 |
|
||||
| = | 0000 0000 |
|
||||
|
||||
## Toggling a Bit
|
||||
### Check Status bit 3
|
||||
### Toggling on byte
|
||||
|
||||
| | 1001 1101 |
|
||||
| :-: | :-------: |
|
||||
| XOR | 1111 1111 |
|
||||
| OR | 0000 1000 |
|
||||
| = | 0110 0010 |
|
||||
### Toggling on the lower nibble (bits 0, 1, 2, 3)
|
||||
|
||||
| | 1001 1101 |
|
||||
| :-: | :-------: |
|
||||
| XOR | 0000 1111 |
|
||||
| = | 1001 0010 |
|
||||
|
||||
|
||||
# Langage C
|
||||
|
||||
@@ -49,7 +49,15 @@ Déterminer les masques et la logique pour obtenir les résultats suivant
|
||||
1. `GPIOA &= ~(1 << 4);`
|
||||
2. `GPIOA &= ~(1 << 0);`
|
||||
3. Changer l’état du bit 4
|
||||
1. Porte logique utilisée **XOR**
|
||||
2. Masque `0b00000000 00000000 00000000 00010000`
|
||||
3. Opération:
|
||||
1. `GPIOA ^= (1 << 4);`
|
||||
4. Vérifier si le bit 5 est à 1
|
||||
1. Porte logique utilisée **AND**
|
||||
2. Masque `0b00000000 00000000 00000000 00100000`
|
||||
3. Opération:
|
||||
1. `if (GPIOA & (1 << 5))`
|
||||
|
||||
---
|
||||
© Félix MARQUET
|
||||
Reference in New Issue
Block a user