Positron Compiler Documentation

Acos

Positron16 · Revision 1.1.3.5 · PDF page 92

Assignment Variable = Acos(pVariable)

Deduce the Arc Cosine of a 32-bit floating point value

pVariable can be a constant, variable or expression that requires the Arc Cosine (Inverse Cosine) extracted. The value expected and returned by the floating point Acos is in radians. The value must be in the range of -1 to +1 Assignment Variable can be any valid variable type.

Device = 24FJ64GA002           ' Select the device to compile for
Declare Xtal = 16      ' Tell the compiler the device will be operating at 16MHz

Declare Hserial_Baud = 9600    ' USART1 Baud rate
Declare Hrsout1_Pin = PORTB.14 ' Select the pin for TX with USART1

Dim FloatIn as Float           ' Holds the value to Acos
Dim FloatOut as Float           ' Holds the result of the Acos

PPS_Output(cOut_Pin_RP14, cOut_Fn_U1TX)  ' Make Pin RB14 U1TX

FloatIn = 0.8                  ' Load the variable
FloatOut = Acos(FloatIn)       ' Extract the Acos of the value
HrsoutLn Dec FloatOut           ' Display the result on a serial terminal

FloatIng point trigonometry is rather memory hungry, so do not be surprised if a large chunk of the microcontroller’s code memory is used with a single operator. This also means that floating point trigonometry is comparatively slow to operate.

When implementing trigonometry, or other built in, functions within an expression, always wrap them in parenthesis, otherwise the parser may consider the extra operands as part of the trigonometry parameter and produce an incorrect result. For example:

MyAssignment = (Acos(MyVar1)) + (Sin(MyVar2))
View original PDF page 92Open page in PDFOriginal PDF page 92