Vous êtes sur la page 1sur 16

probleme

Solution ---
USE_STDPERIPH_DRIVER

On a besoin d’ajouter que dans le cas on ajoute pas les .h par keil comme suit
https://www.raviyp.com/keil-function-assert-param-declared-i
mplicitly-solution/
ERROR
Access to register of unclocked peripheral at 0x40011004 cause BUS_FAULT
[U1_CM3CORE]

https://www.dideo.ir/v/yt/gUk2tMsCGG4/c%C3%A1ch-m%C3%B4-ph%
E1%BB%8Fng-stm32-tr%C3%AAn-protues
ERROR

Appel 2 fois un header .h cause 1 probleme au cours de


compilation

Error: L6218E: Undefined symbol nrf_drv_pwm_init


(referred from main.o).
Probleme uart sur Proteus

Lorsque proteus est utilisé pour simuler le port série stm32f103c6, il est constaté que la fréquence principale de stm32 ne peut pas dépasser 55 MHz.
Voir l'exemple de projet de proteus. J'ai défini le facteur de multiplication sur 6 et la fréquence principale de la simulation doit être définie sur le facteur
de multiplication * 8M (fréquence cristalline). Le tarif est illimité.

Veuillez vous référer aux éléments à lire avant le port série de simulation proteus


1. Il n'y a pas de limite au débit en bauds du port série du terminal virtuel
proteus (recommandé 9600;)

2. Mais pour le facteur de multiplication RCC_PLLMul_ *,


la valeur de * semble être inférieure à 6, sinon le terminal virtuel
affiche Brouillé.
Définir dans sys.c (Yangtao Electronic Routine; Wildfire ne semble
pas répertorier la liste des programmes de fréquence RCC)
/ * Définir la source d'horloge PLL et le facteur de multiplication * / 
RCC_PLLConfig (RCC_PLLSource_HSE_Div1, RCC_PLLMul_5);
// RCC_PLLMul_x (enum 2 ~ 16) est la valeur du multiplicateur. 
Lorsque HSE = 8MHZ, RCC_PLLMul_9, PLLCLK = 72MHZ   

3. Double-cliquez sur le composant stm32 dans le diagramme schématique


proteus et chargez le fichier * .elf. La fenêtre illustrée à la figure 2 apparaît.
La fréquence doit être définie sur 8 MHz * RCC_PLLMul_ *,
où * <= 6, 8 MHz est la fréquence cristalline externe de stm32f103c6
(la bibliothèque de simulation de proteus n'a pas stm32f103c8).
STM32Clock system

In STM32, there are five clock sources,


HSI、HSE、LSI、LSE、PLL。

①HSIIt is a high speed internal clock,


RC oscillator with a frequency of 8MHz.

②HSEIt is a high-speed external clock that


can be connected to a quartz/ceramic
resonator or an external clock source with a
frequency range of 4MHz~16MHz.

③LSIIt is a low-speed internal clock, RC oscillator


with a frequency of 40kHz.

④LSEIt is a low-speed external clock connected to


a quartz crystal with a frequency of 32.768kHz.

⑤PLLFor the phase-locked loop multiplier output,


the clock input source can be selected as HSI/2,
HSE or HSE/2. The multiplier can be selected from 2
to 16 times, but its output frequency must not
exceed 72 MHz.
Probleme in
Qt
Error à eviter
To have the negative value
of thermometer LM35

Measure V1 and V2 with the PIC. You'll be using two


ADC channels for this.

The temperature is equal to (V1 - V2)*100 'C.


This should be implemented in the PIC.
températures négatives avec un capteur LM35 et une alimentation simple"
                                                                           
Le principe est assez simple.
Les deux diodes 1N4148 induisent une chute de tension d'environ 0.6 volt à leur borne
chacune (c'est une caractéristique physique des diodes, appelée "Forward Voltage" dans
les documents techniques), soit 1.2 volt au total entre la masse réelle du montage et la
broche GND du capteur.
Avec une masse à 1.2 volt au niveau du capteur, il est possible pour le capteur d'aller
en dessous de "son" 0 volt vu qu'il n'est en réalité pas à 0 volt, mais à 1.2 volt.
Il y a cependant un petit souci avec ce montage : la tension aux bornes des diodes
varie en fonction de la température … Ce qui est embêtant pour un montage censé
mesurer des températures. C'est un comportement normal pour une diode, c'est même
un comportement qui est utilisé pour mesurer des températures. Sauf que dans notre
cas,
c'est un comportement parasite.
L'astuce pour "annuler" cette variation de tension en fonction de la
température consiste à mesurer la tension au niveau de la broche GND 
du capteur, puis de corriger la
mesure finale en faisant une soustraction dans le code.
DMA ADC

https://electronics.stackexchange.com/questions/325350/input-output-from-unsynchronized-adc-dac
• Il existe un DMA pour accélérer le traitement.

https://fangchaooo.github.io/2016/07/11/STM32%20ADC%E4%BD%BF%E7%94%A8%EF%BC%88%E5%
9F%BA%E7%A1%80%E7%AF%87%EF%BC%89/
https://www.st.com/resource/en/user_manual/dm00068049-description-of-stm32f30xx-31xx-standard
-peripheral-library-stmicroelectronics.pdf

Vous aimerez peut-être aussi