CCS C Hi_tec Conversion C ti

L

louarnold

Guest
Aide à la conversion du compilateur s'il vous plaît?

Mon programme a été écrit en utilisant le compilateur C CCS.Le PIC est un 16F877A.Il s'agit d'un proto-pension avec une interface RS-232 (http://www.ccsinfo.com/product_info.php?products_id=16F877Akit).Je n'ai pas le kit.

Je voulais l'essayer dans le cadre du compilateur C-TEC HI.La plupart ont été convertis avec succès, mais je suis perplexe, avec quelques détails.
Dans CCS C:
Les lignes suivantes 2 sont pour les communications port série
retarder la consommation de # (horloge = 20000000)
# Utiliser rs232 (baud = 9600, = xmit PIN_C6, AN = PIN_C7)

et ...
# Define Seg7 output_d / / Alias pour la sortie de la fonction du port D
/ / Comme dans
Seg7 (LED_MAP [N/10]);

alors ...
output_high (RC1); / / C Pin 1 port sets à 1.

Cordialement
Lou.

 
Tout ce que vous avez à faire est de comprendre ce que les états faire dans CCS et de reproduire ces fonctions de Salut-Tech.

 
Millwood a écrit:

Tout ce que vous avez à faire est de comprendre ce que les états faire dans CCS et de reproduire ces fonctions de Salut-Tech.
 
Eh bien, je n'ai pas vraiment envie d'écrire mes propres routines UART.Tout ce que je utilisé dans CCS C est à printf, et qu'il fallait la directive RS232.

L'utilisation retard d'horloge "= 20 ..."peut-être à voir avec le retard (x) la fonction, que x est une valeur temps.Alors XTAL_FREQ ne ressemble cela pourrait aider.

RC1 = 1 ---- Je ne savais pas que vous pourriez faire cela, ce n'est pas possible dans CCS C.

"Output_d (x)" est une fonction dans le CSC C. Il émet une valeur 8 bits au port D. Je suppose que je vais devoir chercher plus loin que l'équivalent.

Doit trouver un tutoriel pour le compilateur C-Tec Salut.
Merci beaucoup.
Lou.

 
output_high (NIP) est une routine dans le CSC qui fixe élevé de broches.

cette approche n'est pas tout à fait portables - sur la plupart des puces ARM, par exemple, vous avez à jouer quelques tours pour obtenir directement broches d'adressage.

la technologie de l'équivalent Salut c'est juste broches = 1; (ou broche = 0; pour effacer une épingle).

J'utilise un ensemble de macros pour imiter une approche plus générique C:

Code:

# Define IO_SET (port, bits) | port = (bits) / / placer des bits sur le port

# Define IO_CLR (port, bits) port & = ~ (bits) / / bits clair sur le port...# Define LED_PORT PORTA / / leds sur Porta

# Define LED1 (1 <<0) / / LED1 sur porta.0

# Define LED2 (1 <<3) / / LED2 sur porta.3

...IO_SET (LED_PORT, LED1 | LED2); / / set LED1 et LED2

IO_CLR (LED_PORT, LED2); LED2 / / efface

 
Millwood a écrit:

output_high (NIP) est une routine dans le CSC qui fixe élevé de broches.cette approche n'est pas tout à fait portables - sur la plupart des puces ARM, par exemple, vous avez à jouer quelques tours pour obtenir directement broches d'adressage.l'équivalent de salut-technologie, il est juste broches = 1; (ou broche = 0; pour effacer une épingle).J'utilise un ensemble de macros pour imiter une approche plus générique C:Code:

# Define IO_SET (port, bits) | port = (bits) / / placer des bits sur le port

# Define IO_CLR (port, bits) port & = ~ (bits) / / bits clair sur le port...# Define LED_PORT PORTA / / leds sur Porta

# Define LED1 (1 <<0) / / LED1 sur porta.0

# Define LED2 (1 <<3) / / LED2 sur porta.3

...IO_SET (LED_PORT, LED1 | LED2); / / set LED1 et LED2

IO_CLR (LED_PORT, LED2); LED2 / / efface

 
Citation:

Ahhh, je peux utiliser la syntaxe: PORTD = 1 <<3 / / définit le bit 3 sur le port D??
 
Millwood a écrit:Citation:

Ahhh, je peux utiliser la syntaxe: PORTD = 1 <<3 / / définit le bit 3 sur le port D??
 

Welcome to EDABoard.com

Sponsor

Back
Top